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

Matt Jordan (JIRA) noreply at issues.asterisk.org
Fri Mar 1 14:40:19 CST 2013


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

Matt Jordan commented on ASTERISK-21194:
----------------------------------------

There is a [wiki article|https://wiki.asterisk.org/wiki/display/AST/Using+the+Configuration+Framework] on using the Configuration Framework as well.

I should note that {{chan_sip}} has several design limitations that make it difficult to fix this particular problem:
* Use of {{users.conf}}
* Support for realtime (sorcery was created to address this, however, that is not available in 11)
* Use of {{[general]}} options as opposed to only using templated configuration items

I'd also note that refactoring the reload operation in {{chan_sip}} in a release branch would be a very intrusive change that would be discouraged. Since a new SIP channel driver is being written for 12 that uses sorcery (which in turn uses the Configuration Framework under the hood), these kinds of reload operations won't be a problem in 12.

In general, the reload operation in {{chan_sip}} is what it is. If it doesn't crash, deadlock, or otherwise permanently harm a system, I'm inclined not to try and change its behavior.
                
> 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