Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Vlad Paiu

Hello,

In 3.1, create_dialog [1] supports passing it the 'E' flag which will 
lead to the call termination if a dialog race condition occurs.


The dialog will be ended after race_condition_timeout [2] seconds.

Some of the most frequent race conditions are documented in RFC 5407 
[3], and the dialog module currently supports terminating the call in 
case races 3.1.2 and 3.1.3 from the RFC occur.


[1] 
https://opensips.org/html/docs/modules/3.1.x/dialog.html#func_create_dialog 
<https://opensips.org/html/docs/modules/3.1.x/dialog.html#func_create_dialog>


[2] 
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>


[3] https://tools.ietf.org/html/rfc5407 
<https://tools.ietf.org/html/rfc5407>


On 21.04.2021 15:52, Antonis Psaras wrote:

Hello Vlad

I am using 2.4 so race_condition_timeout is not available but I can upgrade if 
required.

Actually is not very clear to me what that parameter does. Can you explain a 
bit more?

Regards


Antonis Psaras / Managing Director
   


-Original Message-
From: Users  On Behalf Of Vlad Paiu
Sent: Τετάρτη, 21 Απριλίου 2021 15:45
To: users@lists.opensips.org
Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180

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 
Sent: Τετάρτη, 21 Απριλίου 2021 12:32
To: apsa...@microbase.gr; OpenSIPS users mailling list

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  On Behalf Of Kingsley
Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


__

Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Antonis Psaras
Hello Vlad

I am using 2.4 so race_condition_timeout is not available but I can upgrade if 
required.

Actually is not very clear to me what that parameter does. Can you explain a 
bit more?

Regards


Antonis Psaras / Managing Director
  

-Original Message-
From: Users  On Behalf Of Vlad Paiu
Sent: Τετάρτη, 21 Απριλίου 2021 15:45
To: users@lists.opensips.org
Subject: Re: [OpenSIPS-Users] Generate CANCEL on 180

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 
> Sent: Τετάρτη, 21 Απριλίου 2021 12:32
> To: apsa...@microbase.gr; OpenSIPS users mailling list 
> 
> 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  On Behalf Of Kingsley 
>> Tart
>> Sent: Τρίτη, 20 Απριλίου 2021 20:10
>> To: OpenSIPS users mailling list 
>> 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@lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Vlad Paiu

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 
Sent: Τετάρτη, 21 Απριλίου 2021 12:32
To: apsa...@microbase.gr; OpenSIPS users mailling list 

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  On Behalf Of Kingsley
Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Antonis Psaras
Thank you.

I will. Thank you for your support


Antonis Psaras
 

-Original Message-
From: Bogdan-Andrei Iancu  
Sent: Τετάρτη, 21 Απριλίου 2021 13:50
To: apsa...@microbase.gr; 'OpenSIPS users mailling list' 

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 
> Sent: Τετάρτη, 21 Απριλίου 2021 13:20
> To: apsa...@microbase.gr; 'OpenSIPS users mailling list' 
> 
> 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 
>> Sent: Τετάρτη, 21 Απριλίου 2021 12:32
>> To: apsa...@microbase.gr; OpenSIPS users mailling list 
>> 
>> 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  On Behalf Of Kingsley 
>>> Tart
>>> Sent: Τρίτη, 20 Απριλίου 2021 20:10
>>> To: OpenSIPS users mailling list 
>>> 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 
&

Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Bogdan-Andrei Iancu

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 
Sent: Τετάρτη, 21 Απριλίου 2021 13:20
To: apsa...@microbase.gr; 'OpenSIPS users mailling list' 

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 
Sent: Τετάρτη, 21 Απριλίου 2021 12:32
To: apsa...@microbase.gr; OpenSIPS users mailling list

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  On Behalf Of Kingsley
Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users





___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Antonis Psaras
No. there is no reply. Just ignored.


Antonis Psaras / Managing Director

-Original Message-
From: Bogdan-Andrei Iancu  
Sent: Τετάρτη, 21 Απριλίου 2021 13:20
To: apsa...@microbase.gr; 'OpenSIPS users mailling list' 

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 
> Sent: Τετάρτη, 21 Απριλίου 2021 12:32
> To: apsa...@microbase.gr; OpenSIPS users mailling list 
> 
> 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  On Behalf Of Kingsley 
>> Tart
>> Sent: Τρίτη, 20 Απριλίου 2021 20:10
>> To: OpenSIPS users mailling list 
>> 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@lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>



___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Bogdan-Andrei Iancu
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 
Sent: Τετάρτη, 21 Απριλίου 2021 12:32
To: apsa...@microbase.gr; OpenSIPS users mailling list 

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  On Behalf Of Kingsley
Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users





___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Antonis Psaras
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  
Sent: Τετάρτη, 21 Απριλίου 2021 12:32
To: apsa...@microbase.gr; OpenSIPS users mailling list 

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  On Behalf Of Kingsley 
> Tart
> Sent: Τρίτη, 20 Απριλίου 2021 20:10
> To: OpenSIPS users mailling list 
> 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@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users



___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Bogdan-Andrei Iancu

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  On Behalf Of Kingsley Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-21 Thread Johan De Clercq
Certain providers do this all the time : they bill faulty numbers

So they give 180 followed by instant 200 and then they play : "the number
that you tried to reach ".

Actually, Antonis, you should try a few of those numbers manually, I bet
you that they are all faulty.

Op di 20 apr. 2021 om 23:02 schreef Calvin Ellison :

> Once you receive 200 it is too late to CANCEL. You will need to ACK the
> 200 and then BYE the call.
>
>
> Regards,
>
> *Calvin Ellison*
> Systems Architect
> calvin.elli...@voxox.com
> +1 (213) 285-0555
>
> ---
> *voxox.com <http://www.voxox.com/> *
> 5825 Oberlin Drive, Suite 5
> San Diego, CA 92121
> [image: Voxox]
>
>
> On Tue, Apr 20, 2021 at 1:14 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  On Behalf Of Kingsley Tart
>> Sent: Τρίτη, 20 Απριλίου 2021 20:10
>> To: OpenSIPS users mailling list 
>> 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@lists.opensips.org
>> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>> ___
>> Users mailing list
>> Users@lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-20 Thread Calvin Ellison
Once you receive 200 it is too late to CANCEL. You will need to ACK the 200
and then BYE the call.


Regards,

*Calvin Ellison*
Systems Architect
calvin.elli...@voxox.com
+1 (213) 285-0555

---
*voxox.com <http://www.voxox.com/> *
5825 Oberlin Drive, Suite 5
San Diego, CA 92121
[image: Voxox]


On Tue, Apr 20, 2021 at 1:14 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  On Behalf Of Kingsley Tart
> Sent: Τρίτη, 20 Απριλίου 2021 20:10
> To: OpenSIPS users mailling list 
> 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@lists.opensips.org
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ___
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-20 Thread Antonis Psaras
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  On Behalf Of Kingsley Tart
Sent: Τρίτη, 20 Απριλίου 2021 20:10
To: OpenSIPS users mailling list 
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@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-20 Thread Kingsley Tart
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@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Generate CANCEL on 180

2021-04-20 Thread Alain Bieuzent
Hi Antonis,

 

it seems possible ...: 
https://opensips.org/html/docs/modules/3.1.x/tm.html#func_t_cancel_branch.

 

Regards

 

De : Users  au nom de Antonis Psaras 

Organisation : Microbase
Répondre à : , OpenSIPS users mailling list 

Date : mardi 20 avril 2021 à 15:58
À : 
Objet : [OpenSIPS-Users] Generate CANCEL on 180

 

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@lists.opensips.org 
http://lists.opensips.org/cgi-bin/mailman/listinfo/users 

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] Generate CANCEL on 180

2021-04-20 Thread Antonis Psaras
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@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users