[OpenSIPS-Users] Generate CANCEL on 180
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Apr 21 10:49:31 EST 2021
Well, you should bring that to the carrier :(
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
https://www.opensips-solutions.com
OpenSIPS Bootcamp 2021 online
https://opensips.org/training/OpenSIPS_eBootcamp_2021/
On 4/21/21 1:47 PM, Antonis Psaras wrote:
> No. there is no reply. Just ignored.
>
>
> Antonis Psaras / Managing Director
>
> -----Original Message-----
> From: Bogdan-Andrei Iancu <bogdan at opensips.org>
> Sent: Τετάρτη, 21 Απριλίου 2021 13:20
> To: apsaras at microbase.gr; 'OpenSIPS users mailling list' <users at lists.opensips.org>
> Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180
>
> So there is a race between the CANCEL you send and the incoming 200 OK, right ? And does the carrier even reply to that CANCEL? the RFC3261 says it is a must to provide a reply to any incoming request.
>
> Regards,
>
> Bogdan-Andrei Iancu
>
> OpenSIPS Founder and Developer
> https://www.opensips-solutions.com
> OpenSIPS Bootcamp 2021 online
> https://opensips.org/training/OpenSIPS_eBootcamp_2021/
>
> On 4/21/21 12:46 PM, Antonis Psaras wrote:
>> Hello Bogdan
>>
>> The flow is the following
>>
>> INVITE
>> Trying (instantly)
>> (after 2sec)
>> 183
>> (after 3sec)
>> 180
>> (here I do the process but during that I receive)
>> 200 (instantly)
>> (here the CANCEL is sent)
>> CANCEL
>>
>> And the call is keep going, hence the CANCEL was ignored by the carrier by the carrier because the call was answered.
>>
>> Regards
>>
>>
>> Antonis Psaras
>>
>> -----Original Message-----
>> From: Bogdan-Andrei Iancu <bogdan at opensips.org>
>> Sent: Τετάρτη, 21 Απριλίου 2021 12:32
>> To: apsaras at microbase.gr; OpenSIPS users mailling list
>> <users at lists.opensips.org>
>> Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180
>>
>> Hi Antonis,
>>
>> What exactly does not work ? sending the CANCEL out? or the callee "refuses" to cancel and sends a 200 OK ?
>>
>> Regards,
>>
>> Bogdan-Andrei Iancu
>>
>> OpenSIPS Founder and Developer
>> https://www.opensips-solutions.com
>> OpenSIPS Bootcamp 2021 online
>> https://opensips.org/training/OpenSIPS_eBootcamp_2021/
>>
>> On 4/20/21 11:13 PM, Antonis Psaras wrote:
>>> I did the following
>>>
>>> if (t_check_status("180"))
>>> {
>>> t_cancel_branch();
>>> drop;
>>> }
>>>
>>> But there is an issue.
>>>
>>> When 180 is followed by 200 instantly, the CANCEL is not working as expected.
>>>
>>> When I add a delay on Answer ie 1sec then CANCEL works.
>>>
>>> Any suggestion?
>>>
>>> Antonis Psaras
>>>
>>> -----Original Message-----
>>> From: Users <users-bounces at lists.opensips.org> On Behalf Of Kingsley
>>> Tart
>>> Sent: Τρίτη, 20 Απριλίου 2021 20:10
>>> To: OpenSIPS users mailling list <users at lists.opensips.org>
>>> Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180
>>>
>>> Firstly, I'm new to OpenSIPS so treat my comments accordingly.
>>>
>>> But, can you do something in an onreply route?
>>>
>>> eg, in a test setup I have, when I get an INVITE I do this:
>>>
>>> create_dialog("pPB");
>>> t_on_reply("doodle");
>>>
>>> (I can't remember whether the dialog is needed for this)
>>>
>>> and then I have this:
>>>
>>> onreply_route[doodle] {
>>> # expect $T_reply_code to likely first be 100
>>> # then 180 or 183 for a progressing call
>>> # 200 when call is answered
>>> # or failure code (eg 4xx) or whatever
>>> if (t_check_status("^1[0-9][0-9]$")) {
>>> switch ($T_reply_code) {
>>> case 180: $acc_extra(t_ringing) = $Ts; break;
>>> case 183: $acc_extra(t_progress) = $Ts; break;
>>> }
>>> } else if (t_check_status("^2[0-9][0-9]$")) {
>>> $acc_extra(t_answer) = $Ts;
>>> } else {
>>> xlog("Something else\n");
>>> }
>>> }
>>>
>>> so when a 180 is received, it calls the above route function. Could you send a CANCEL from there?
>>>
>>> Cheers,
>>> Kingsley.
>>>
>>> On Tue, 2021-04-20 at 16:55 +0300, Antonis Psaras wrote:
>>>> Dear all
>>>>
>>>> I am trying to create a service which will generate missed calls. In
>>>> order to be more accurate, I want to CANCEL the request when 180 is
>>>> received.
>>>>
>>>> The scenario is the following
>>>>
>>>> Asterisk Invite -> OpenSIPs -> Carrier
>>>>
>>>> Carrier 183 -> OpenSIPs -> Asterisk
>>>>
>>>> Carrier 180 -> OpenSIPs
>>>>
>>>> OpenSIPs Cancel -> Carrier
>>>>
>>>>
>>>> Is that possible to be done from script without external app?
>>>>
>>>> Regards
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list