[asterisk-users] Device state of SIP doesn't change

Mark Michelson mmichelson at digium.com
Fri Jan 18 10:23:29 CST 2008


Mark Michelson wrote:
> Atis Lezdins wrote:
>> On 1/17/08, Mark Michelson <mmichelson at digium.com> wrote:
>>> Atis Lezdins wrote:
>>>> Hi,
>>>>
>>>> I'm wondering - why SIP device state doesn't get updated to anything
>>>> else, except Not In Use.
>>>>
>>>> For queue call (with Local channel) i get:
>>>> app_queue.c: Device 'SIP/21168' changed to state '1' (Not in use)
>>>> app_queue.c: Device 'SIP/21168' changed to state '1' (Not in use)
>>>> app_queue.c: The device state of this queue member, Agent/21168, is
>>>> still 'Not in Use' when it probably should not be! Please check
>>>> UPGRADE.txt for correct configuration settings.
>>>>
>>>> Of course, i checked UPGRADE.txt, and lot of other resources, enabled
>>>> few settings in sip.conf, but this still doesn't change.
>>>>
>>>> my sip.conf is:
>>>> [general]
>>>> port = 5060
>>>> bindaddr = 0.0.0.0
>>>> context = default-external
>>>> tos_sip=0x18
>>>> tos_audio=0x18
>>>> callerid = Unknown
>>>> dtmfmode=rfc2833
>>>> ignoreregexpire=yes
>>>>
>>>> limitonpeer=yes
>>>> notifyringing=yes
>>>> notifyhold=yes
>>>> allowsubscribe=yes
>>>> call-limit=1
>>>>
>>>> and the corresponding realtime entry is:
>>>> name: 21168
>>>> accountcode: NULL
>>>> amaflags: NULL
>>>> callgroup: NULL
>>>> callerid: device <21168>
>>>> canreinvite: no
>>>> context: default-sip
>>>> defaultip: NULL
>>>> dtmfmode: rfc2833
>>>> fromuser: NULL
>>>> fromdomain: NULL
>>>> fullcontact: NULL
>>>> host: dynamic
>>>> insecure: NULL
>>>> language: NULL
>>>> mailbox: 21168 at device
>>>> md5secret: NULL
>>>> nat: yes
>>>> deny: NULL
>>>> permit: NULL
>>>> mask: NULL
>>>> pickupgroup: NULL
>>>> port: 5061
>>>> qualify: no
>>>> restrictcid: NULL
>>>> rtptimeout: NULL
>>>> rtpholdtimeout: NULL
>>>> secret: xxx
>>>> type: friend
>>>> username: 21168
>>>> disallow:
>>>> allow: all
>>>> musiconhold: NULL
>>>> regseconds: 1200593168
>>>> ipaddr: xxx.xxx.xxx.xxx
>>>> regexten:
>>>> cancallforward: yes
>>>> setvar:
>>>>
>>>> Any help would be appreciated.
>>>>
>>>> Regards,
>>>> Atis
>>> The relevant portion of UPGRADE.txt mentions that a call-limit is necessary in
>>> order for SIP devices to report proper device state. I see in your sip.conf file
>>> that you have set call-limit in the general section. This setting, however, may
>>> only be set per peer (or user). Unfortunately, there's no warning message output
>>> if an unrecognized option is set in the general section.
>> Mark, thanks for pointing this out.
>>
>> However, i was stuck without any success, until i tried adding my
>> phone in static config - then it magically worked. So, i could use
>> rtcachefriends=yes but that's something i would really like to avoid.
>> Is this considered a bug? There's nothing in docs saying that state
>> information is incompatible with Realtime.
>>
>> Regards,
>> Atis
> 
> After further discussion regarding this in #asterisk this morning, it would 
> appear that communicating proper device state with realtime peers/users does not 
> work properly. I would tentatively consider this a bug since I would expect that 
> anything that works statically should also work in realtime as well. However, 
> since I have not done a ton of work with chan_sip myself, there could be some 
> subtle (or not so subtle) reason why this was purposely not implemented. Sorry I 
> can't be more authoritative on this matter.
> 
> Mark Michelson

After some discussion on IRC, and reviewing my initial reply to you, I should 
clarify that proper device state reporting for realtime SIP peers does work with 
rtcachefriends enabled. I believe I will start up a branch soon to work out the 
details of getting proper device state reported for realtime SIP peers which are 
not cached.

Mark Michelson



More information about the asterisk-users mailing list