[OpenSIPS-Users] Generate CANCEL on 180

Antonis Psaras apsaras at microbase.gr
Wed Apr 21 10:54:07 EST 2021


Thank you.

I will. Thank you for your support


Antonis Psaras
 

-----Original Message-----
From: Bogdan-Andrei Iancu <bogdan at opensips.org> 
Sent: Τετάρτη, 21 Απριλίου 2021 13:50
To: apsaras at microbase.gr; 'OpenSIPS users mailling list' <users at lists.opensips.org>
Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180

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