[OpenSIPS-Users] Generate CANCEL on 180

Antonis Psaras apsaras at microbase.gr
Wed Apr 21 10:47:03 EST 2021


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