[Home]

Summary:ASTERISK-11193: caller side of sip hints not updated
Reporter:Mostyn Bramley-Moore (mostyn)Labels:
Date Opened:2008-01-09 21:30:16.000-0600Date Closed:2011-06-07 14:07:55
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) full
( 1) sip_show_inuse
( 2) sip_show_peer_and_user
Description:With asterisk 1.4.17, only the called end of a sip->sip call has its status set to InUse, the caller is marked as Idle.  This occurs when using type=friend but also when I create SIP user/peer pairs explicitly.  

sip.conf:
[general]
bindport=5060
bindaddr=0.0.0.0

autocreatepeer=no
allowguest=no
language=en

disallow=all
allow=alaw ; Fat codec
allow=ulaw ; Fat codec
allow=gsm  ; 13 Kbps, free

qualify=yes

[102]
type=friend
username=102
secret=102
accountcode=102
canreinvite=no
limitonpeers=yes
call-limit=2
context=default
subscribecontext=default
host=dynamic
nat=yes
qualify=yes
disallow=all
allow=alaw
allow=ulaw
allow=gsm

[103]
type=friend
username=103
secret=103
accountcode=103
canreinvite=no
limitonpeers=yes
call-limit=2
context=default
subscribecontext=default
host=dynamic
nat=yes
qualify=yes
disallow=all
allow=alaw
allow=ulaw
allow=gsm

[104]
type=friend
username=104
secret=104
accountcode=104
canreinvite=no
limitonpeers=yes
call-limit=2
context=default
subscribecontext=default
host=dynamic
nat=yes
qualify=yes
disallow=all
allow=alaw
allow=ulaw
allow=gsm

extensions.conf:
[general]
static=yes
writeprotect=yes

[globals]


[default]

exten => 102,1,Dial(SIP/102)
exten => 103,1,Dial(SIP/103)
exten => 104,1,Dial(SIP/104)

exten => 2,1,Pickup(102)
exten => 3,1,Pickup(103)
exten => 4,1,Pickup(104)

exten => 102,hint,SIP/102
exten => 103,hint,SIP/103
exten => 104,hint,SIP/104

when 103 calls 104, "show hints":
   -= Registered Asterisk Dial Plan Hints =-
                   104@default             : SIP/104               State:InUse           Watchers  1
                   103@default             : SIP/103               State:Idle            Watchers  1
                   102@default             : SIP/102               State:Idle            Watchers  0

show channels:
Channel              Location             State   Application(Data)            
SIP/104-006e0c70     (None)               Up      Bridged Call(SIP/103-006e6850)
SIP/103-006e6850     104@default:1        Up      Dial(SIP/104)                
2 active channels
1 active call

and when 104 calls 103:
   -= Registered Asterisk Dial Plan Hints =-
                   104@default             : SIP/104               State:Idle            Watchers  1
                   103@default             : SIP/103               State:InUse           Watchers  1
                   102@default             : SIP/102               State:Idle            Watchers  0

Channel              Location             State   Application(Data)            
SIP/103-006e0c70     (None)               Up      Bridged Call(SIP/104-006e6850)
SIP/104-006e6850     103@default:1        Up      Dial(SIP/103)                
2 active channels
1 active call

****** ADDITIONAL INFORMATION ******

OS/System: Debian 4.0 etch/stable (amd64)
Kernel: 2.6.23.12
arch: intel em64t

Asterisk compiled from pristine digium source.  
Comments:By: Joshua C. Colp (jcolp) 2008-01-10 09:14:35.000-0600

Please provide the following:

A sip show peer and show user for the friend (or user/peer) entry in question.
Full console output with core debug enabled in logger.conf and core set debug set to 9, and sip debug enabled.
A sip show inuse.

By: Mostyn Bramley-Moore (mostyn) 2008-01-11 02:01:58.000-0600

I have attached three files,
full: a full log with debug and verbose enabled, both set to 9
sip_show_peer_and_user: the output from sip show user 10{2,3,4} and sip show peer 10{2,3,4}
sip_show_inuse: the output from sip show inuse

By: Paolo Ornati (ornati) 2008-02-02 04:22:35.000-0600

This is nonsense generated by the user/peer separation.

Replace "type=friend" with "type=peer" and be happy  :)

PS:
Support the "kill the user" campaign!
http://www.venturevoip.com/news.php?rssid=1900

By: Jon Brüel (jb) 2008-02-07 12:04:40.000-0600

I have observed the same error in Asterisk Trunk 1.4.17. Using CentOS, kernel: 2.6.9-67.0.4.plus.c4.

The type=peer does not work with 1.4.17 in situations where more than one account is registrered on the same ip-address, and considering that BLF is a feature wanted by most customers, there is a need to solve the issue.

By: Jon Brüel (jb) 2008-02-07 13:57:25.000-0600

[general]
limitonpeers = yes

To the sip.conf, I got it to work.

I recon that there is some confusion regarding this field, as it sometimes is referred to as limitonpeers and other times as limitonpeer (without the s). Having limitonpeers under the definition of friend gave a cryptic error message at SIP reload, stating that the type was not defined.

By: Joshua C. Colp (jcolp) 2008-02-08 09:44:07.000-0600

As described this is a configuration issue. You must have limitonpeers set to yes in order to have devicestate correctly report status. This option can only be set globally.