[asterisk-dev] UAC leg cancel on early media / MoH.
John Todd
jtodd at loligo.com
Sat Nov 3 18:31:41 CDT 2007
Sounds like a bug that cries out for a patch... :-)
I'm 100% behind sending out early media the correct way, and
requiring an "Answer" in front of all applications before a call is
actually classified as "answered". However, right now it's very easy
to mistakenly send audio to a channel without Answering it.
I would suggest this, if you create a patch: the first 183 and
subsequent early media should be transmitted without any warning or
error messages. However, after one minute (the first re-transmit of
the 183) then a message (debug? warning?) should be thrown saying
something like "183 Early Media refresh on SIP/1239-blahblahblah: Is
this intentionally not Answered yet?" so that inadvertent neglect of
calling an app_answer can be discovered by those who forget it. A
full minute of early media is typically longer than "normal", so I
think the messages on refresh wouldn't be burdensome on the logfiles.
JT
At 7:07 PM -0400 2007/11/2, Raj Jain wrote:
>
>I'm not sure how this broke in 1.4. I just don't see any calls to start a
>one minute timer at places where we generate 183 (or any other non-100
>provisional responses for that matter) in chan_sip.c in 1.4.
>
>- Raj
>
>
>> -----Original Message-----
>> From: asterisk-dev-bounces at lists.digium.com
>> [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of
>> Alex Balashov
>> Sent: Friday, November 02, 2007 6:42 PM
>> To: Asterisk Developers Mailing List
>> Subject: Re: [asterisk-dev] UAC leg cancel on early media / MoH.
>>
>>
>> Ah, thank you!
>>
>> This was in 1.2.24. Do you suppose this behaviour differs in 1.4.x?
>>
>> On Fri, 2 Nov 2007, Raj Jain wrote:
>>
>> > Quoting from section 13.3.1.1 of RFC 3261:
>> >
>> > If the UAS desires an extended period of time to answer
>> the INVITE,
>> > it will need to ask for an "extension" in order to prevent proxies
>> > from canceling the transaction. A proxy has the option
>> of canceling
>> > a transaction when there is a gap of 3 minutes between
>> responses in a
>> > transaction. To prevent cancellation, the UAS MUST send a non-100
>> > provisional response at every minute, to handle the possibility of
>> > lost provisional responses.
>> >
>> > From your description it seems that Asterisk is not
>> repeating the 183
>> > every minute. Therefore it's a bug in Asterisk.
>> >
>> > - Raj
>> >
>> >
>> >> -----Original Message-----
>> >> From: asterisk-dev-bounces at lists.digium.com
>> >> [mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Alex
>> >> Balashov
>> >> Sent: Friday, November 02, 2007 5:41 PM
>> >> To: asterisk-dev at lists.digium.com
>> >> Subject: [asterisk-dev] UAC leg cancel on early media / MoH.
>> >>
>> >>
>> >>
>> >> Hi folks,
>> >>
>> >> I ran into a problem where SIP calls were being dumped
>> straight into
>> >> a queue without being Answer()'d. Music on hold from the
>> queue was
>> >> being generated via 183 Session in Progress + SDP, i.e.
>> early media /
>> >> in-band ringback.
>> >>
>> >> After about 3 minutes of this, all SIP UACs I tested with would
>> >> CANCEL the leg, resulting in the caller being dropped out of the
>> >> queue. This happened with a Cisco 7960 (SIP image),
>> Polycom 501, and
>> >> tne X-lite softphone.
>> >>
>> >> Anyway, I fixed the problem by simply furnishing an
>> Answer() in the
>> >> dial plan, of course, but I was curious as to why SIP UACs
>> react this
>> >> way. I could not find any explanation for this in reviewing the
>> >> various SIP T-timers in the RFC, or the various RFCs and drafts
>> >> dealing with early media.
>> >>
>> >> In other words, I see no reason why the calling SIP agent should
>> >> terminate the call after 3 minutes since the 183 + SDP
>> have elapsed.
> > >> What gives?
> > >>
> > >> Thanks,
> > >>
> > >> --
> > >> Alex Balashov
> > >> Evariste Systems
> > >> Web : http://www.evaristesys.com/
> > >> Tel : +1-678-954-0670
> > >> Direct : +1-678-954-0671
>> >>
>> >> _______________________________________________
>> >> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> > >>
>> >> asterisk-dev mailing list
>> >> To UNSUBSCRIBE or update options visit:
>> >> http://lists.digium.com/mailman/listinfo/asterisk-dev
>> >
>> >
>> > _______________________________________________
>> > --Bandwidth and Colocation Provided by http://www.api-digital.com--
>> >
>> > asterisk-dev mailing list
>> > To UNSUBSCRIBE or update options visit:
>> > http://lists.digium.com/mailman/listinfo/asterisk-dev
>> >
>>
>> --
>> Alex Balashov
>> Evariste Systems
>> Web : http://www.evaristesys.com/
>> Tel : +1-678-954-0670
>> Direct : +1-678-954-0671
>>
>> _______________________________________________
>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
>_______________________________________________
>--Bandwidth and Colocation Provided by http://www.api-digital.com--
>
>asterisk-dev mailing list
>To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
More information about the asterisk-dev
mailing list