[Freeswitch-users] How to tell if 100 Trying received
John Dalgliesh
johnd at defyne.org
Tue Apr 21 20:22:07 PDT 2009
Hi Anthony,
Thanks for the reply!
While waiting for my question to appear on the list yesterday (6H delay at
yoda.ostag.org... is first post moderated?) I went deep into the SIP stack
and figured out the solution: You just have to give NTATAG_PASS_100(1) as
one of the tags for nua_create. Then you get a sofia event for it. I guess
the author has made it easier since your last discussion.
I have changed my mod_sofia to do this. I also added a channel flag which
is set if any response has been received from the remote end (be it 100,
18X, 2XX, etc.). The flag is now tested by switch_ivr_originate to
time-out a call quickly.
Would you/anyone be interested in a patch to do this? If so please let me
know the procedure for posting patches etc.
{P^/
On Tue, 21 Apr 2009 at 10:03 -0500, Anthony Minessale wrote:
>
> That 100 trying is handled deep in the sip stack.
> The author of sofia said it would be a big job to bring that up to the even
> callback.
> Someone may be able to persuade him to allow you to pass a global timeout
> waiting for 100
> or something but no solution exists atm
>
>
> On Tue, Apr 21, 2009 at 3:32 AM, John Dalgliesh <johnd at defyne.org> wrote:
>
>>
>> Hi,
>>
>> I am trying to use FS to make outgoing SIP calls. I have a number of
>> gateways that can make the call. However, if one of them is down or has
>> some other problem then I would like to detect that quickly.
>>
>> I intended to use the provisional '100 Trying' message for this... if it
>> hasn't been received in a couple of seconds then go on and try the next
>> gateway.
>>
>> But I can't find a flag/event/state which corresponds to receipt of this
>> message. Can anyone tell me where I should be looking? I put a debug print
>> in sofia_event_callback for every event but there doesn't seem to be one
>> fired for this condition.
>>
>> Thanks in advance.
>>
>> {P^/
>> John
More information about the FreeSWITCH-users
mailing list