Jacek Konieczny
2016-Aug-09 07:03 UTC
[asterisk-users] chan_pjsip ignoring endpoint device state (qualify) on dial
Hi, We have been migrating our PBX system from Asterisk 1.8 and chan_sip to Asterisk 13 and chan_pjsip. Things are mostly, ok, but now I have stumbled on a behaviour difference I don't like. With chan_pjsip when a phone went unexpectedly offline (Ethernet cable disconnected) Asterisk would detect this quickly (through the 'qualify' pings), mark the phone as 'Unavailable' and fail immediately with 'CHANUNAVAIL' when dialling this phone. With Asterisk 13 and chan_pjsip qualify still works for determining current phone availability (endpoint shown as 'Unavailable' shortly after disconnecting the cable), but the phone is being dialled like nothing is wrong ? Asterisk sends the INVITE and waits for the response, until SIP timeout (a bit more than 30s total). That is much longer time until 'CHANUNAVAIL' than I expect. It is also longer than the dial timeout in some cases, so I would get 'NOANSWER' instead of 'CHANUNAVAIL' which breaks my dialplan logic. Is that that the expected behaviour, a bug or a configuration problem? Am I supposed to check for device availability in my dialplan? Greets, Jacek
Faheem Muhammad
2016-Aug-09 08:06 UTC
[asterisk-users] chan_pjsip ignoring endpoint device state (qualify) on dial
Jacek, This might be a bug or configuration issue, but you need to understand the SIP Session Timers. With Session Timers you can control the round trip time and Call Setup time of SIP Requests. In case of GSM Network with high delay you need to set the T1 timer a higher value like 1000ms (500 ms default). Similarly you can reduce the Call setup time by configuring 'T2' upto you choice as per you telephony network. Configure t1min, timert1 and timerb according to your network. Also set session-type=uas. Regards, Muhammad Faheem On Tue, Aug 9, 2016 at 12:03 PM, Jacek Konieczny <jajcus at jajcus.net> wrote:> Hi, > > We have been migrating our PBX system from Asterisk 1.8 and chan_sip to > Asterisk 13 and chan_pjsip. Things are mostly, ok, but now I have > stumbled on a behaviour difference I don't like. > > With chan_pjsip when a phone went unexpectedly offline (Ethernet cable > disconnected) Asterisk would detect this quickly (through the 'qualify' > pings), mark the phone as 'Unavailable' and fail immediately with > 'CHANUNAVAIL' when dialling this phone. > > With Asterisk 13 and chan_pjsip qualify still works for determining > current phone availability (endpoint shown as 'Unavailable' shortly > after disconnecting the cable), but the phone is being dialled like > nothing is wrong ? Asterisk sends the INVITE and waits for the response, > until SIP timeout (a bit more than 30s total). That is much longer time > until 'CHANUNAVAIL' than I expect. It is also longer than the dial > timeout in some cases, so I would get 'NOANSWER' instead of > 'CHANUNAVAIL' which breaks my dialplan logic. > > Is that that the expected behaviour, a bug or a configuration problem? > Am I supposed to check for device availability in my dialplan? > > Greets, > Jacek > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20160809/6cb70190/attachment.html>
Jacek Konieczny
2016-Aug-10 07:18 UTC
[asterisk-users] chan_pjsip ignoring endpoint device state (qualify) on dial
On 2016-08-09 10:06, Faheem Muhammad wrote:> Jacek, > This might be a bug or configuration issue, but you need to understand > the SIP Session Timers. With Session Timers you can control the round > trip time and Call Setup time of SIP Requests.I don't think you really mean SIP Session Timers (https://tools.ietf.org/html/rfc4028) these do not affect RTT or call setup, but provide kind of 'keepalive' and session expiration for established calls.> In case of GSM Network with high delay you need to set the T1 timer a > higher value like 1000ms (500 ms default). Similarly you can reduce the > Call setup time by configuring 'T2' upto you choice as per you telephony > network. Configure t1min, timert1 and timerb according to your network. > Also set session-type=uas.Yes, tweaking the T1 and T2 timers may work for me. I'll try that, though the old 'qualify' magic with chan_sip was quite convenient. I wonder why it doesn't work with chan_pjsip. Jacek
Jacek Konieczny
2016-Aug-10 07:38 UTC
[asterisk-users] chan_pjsip ignoring endpoint device state (qualify) on dial
On 2016-08-09 10:06, Faheem Muhammad wrote:> trip time and Call Setup time of SIP Requests. > In case of GSM Network with high delay you need to set the T1 timer a > higher value like 1000ms (500 ms default). Similarly you can reduce the > Call setup time by configuring 'T2' upto you choice as per you telephony > network. Configure t1min, timert1 and timerb according to your network.No, that won't work. First ? 't1min', 'timert1' and 'timerb' are chan_sip, not pjsip options. Second ? the 'timer_t1' and 'timer_b' settings available in 'pjsip.conf' are global and not per-endpoint. I cannot change T1 for trunks, as they might not be fast enough to respond and I cannot set it for phones only. It seems I need to bring back the chan_sip behaviour ? 'do not bother with INVITE to Unreachable devices'. Jacek> On Tue, Aug 9, 2016 at 12:03 PM, Jacek Konieczny <jajcus at jajcus.net > <mailto:jajcus at jajcus.net>> wrote: > > Hi, > > We have been migrating our PBX system from Asterisk 1.8 and chan_sip to > Asterisk 13 and chan_pjsip. Things are mostly, ok, but now I have > stumbled on a behaviour difference I don't like. > > With chan_pjsip when a phone went unexpectedly offline (Ethernet cable > disconnected) Asterisk would detect this quickly (through the 'qualify' > pings), mark the phone as 'Unavailable' and fail immediately with > 'CHANUNAVAIL' when dialling this phone. > > With Asterisk 13 and chan_pjsip qualify still works for determining > current phone availability (endpoint shown as 'Unavailable' shortly > after disconnecting the cable), but the phone is being dialled like > nothing is wrong ? Asterisk sends the INVITE and waits for the response, > until SIP timeout (a bit more than 30s total). That is much longer time > until 'CHANUNAVAIL' than I expect. It is also longer than the dial > timeout in some cases, so I would get 'NOANSWER' instead of > 'CHANUNAVAIL' which breaks my dialplan logic. > > Is that that the expected behaviour, a bug or a configuration problem? > Am I supposed to check for device availability in my dialplan? > > Greets, > Jacek > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > <http://lists.digium.com/mailman/listinfo/asterisk-users> > > > >