[OpenSIPS-Users] Generate CANCEL on 180

Vlad Paiu vladpaiu at opensips.org
Wed Apr 21 12:45:06 EST 2021


Hello,

Try using the race_condition_timeout dialog param along with the 'E' 
flag when creating the dialog.

https://opensips.org/html/docs/modules/3.1.x/dialog.html#race_condition_timeout 
<https://opensips.org/html/docs/modules/3.1.x/dialog.html#race_condition_timeout>

Best Regards,
Vlad
On 21.04.2021 12:46, 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
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users



More information about the Users mailing list