[asterisk-bugs] [JIRA] (ASTERISK-21194) chan_sip can fail to find a peer during reload

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Fri Mar 1 13:59:19 CST 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-21194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=203608#comment-203608 ] 

Richard Mudgett commented on ASTERISK-21194:
--------------------------------------------

Jaco,

The reload issue you have run into is why the configuration framework was created.  The configuration framework behaves like what you describe the configuration reload should work.  The new configuration is swapped into use atomically.  It does take advantage of ao2 reference counted objects so you will need to become familiar with them.  Look at ConfBridge for an example.  (apps/confbridge/conf_config_parser.c:conf_load_config())  It is not an easy task to retrofit large modules like chan_sip to use the configuration framework and to access their parameters safely.
                
> chan_sip can fail to find a peer during reload
> ----------------------------------------------
>
>                 Key: ASTERISK-21194
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21194
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General
>    Affects Versions: 11.2.1
>            Reporter: Jaco Kroon
>
> During a global system reload I saw this:
> {noformat}
> [Feb 28 16:50:26] VERBOSE[2712][C-0000317a] pbx.c:     -- Executing [number at prov:5] Dial("Local/number at foo-0000377b;2", "SIP/bar/number,,") in new stack
> [Feb 28 16:50:26] VERBOSE[2712][C-0000317a] netsock2.c:   == Using SIP RTP CoS mark 5
> [Feb 28 16:50:26] ERROR[2712][C-0000317a] netsock2.c: getaddrinfo("bar", "(null)", ...): Name or service not known
> [Feb 28 16:50:26] WARNING[2712][C-0000317a] chan_sip.c: No such host: bar
> [Feb 28 16:50:26] WARNING[2712][C-0000317a] app_dial.c: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
> {noformat}
> sip show peer (after reload):
> {noformat}
>   * Name       : bar
>   Description  : 
>   Secret       : <Not set>
>   MD5Secret    : <Not set>
>   Remote Secret: <Not set>
>   Context      : uls-makecall
>   Record On feature : automon
>   Record Off feature : automon
>   Subscr.Cont. : <Not set>
>   Language     : 
>   Tonezone     : <Not set>
>   Accountcode  : bar
>   AMA flags    : Unknown
>   Transfer mode: open
>   CallingPres  : Presentation Allowed, Not Screened
>   Callgroup    : 
>   Pickupgroup  : 
>   Named Callgr : 
>   Nam. Pickupgr: 
>   MOH Suggest  : 
>   Mailbox      : 
>   VM Extension : 8579
>   LastMsgsSent : 0/0
>   Call limit   : 2147483647
>   Max forwards : 0
>   Dynamic      : No
>   Callerid     : "" <>
>   MaxCallBR    : 384 kbps
>   Expire       : -1
>   Insecure     : no
>   Force rport  : Auto (No)
>   Symmetric RTP: No
>   ACL          : No
>   DirectMedACL : No
>   T.38 support : Yes
>   T.38 EC mode : Redundancy
>   T.38 MaxDtgrm: -1
>   DirectMedia  : No
>   PromiscRedir : No
>   User=Phone   : No
>   Video Support: No
>   Text Support : No
>   Ign SDP ver  : No
>   Trust RPID   : No
>   Send RPID    : No
>   Subscriptions: Yes
>   Overlap dial : No
>   DTMFmode     : rfc2833
>   Timer T1     : 500
>   Timer B      : 32000
>   ToHost       : 10.0.0.14
>   Addr->IP     : 10.0.0.14:5060
>   Defaddr->IP  : (null)
>   Prim.Transp. : UDP
>   Allowed.Trsp : UDP
>   Reg. exten   : 
>   Def. Username: 
>   SIP Options  : (none)
>   Codecs       : (g729)
>   Codec Order  : (g729:20)
>   Auto-Framing :  No 
>   Status       : OK (1 ms)
>   Useragent    : 
>   Reg. Contact : 
>   Qualify Freq : 60000 ms
>   Keepalive    : 0 ms
>   Variables    :
>                  __noivr = yes
>   Sess-Timers  : Accept
>   Sess-Refresh : uas
>   Sess-Expires : 1800 secs
>   Min-Sess     : 90 secs
>   RTP Engine   : asterisk
>   Parkinglot   : 
>   Use Reason   : No
>   Encryption   : No
> {noformat}
> And it would have looked exactly the same just before reload.  The section in sip.conf:
> {noformat}
> [bar]
> type=friend
> host=10.0.0.14
> qualify=yes
> disallow=all
> allow=g729
> context=uls-makecall
> directmedia=no
> dtmfmode=rfc2833
> accountcode=IS
> jbforce=no
> setvar=__noivr=yes
> transport=udp
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list