Re: [OpenSIPS-Users] CANCEL Reason is not propagated

2018-08-16 Thread vasilevalex
I can't say if all the phones support it, but this is RFC 3326. So you can
just check in your model docs.
Most softphones also support it.
And yes, it is very useful.



--
Sent from: 
http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html

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


Re: [OpenSIPS-Users] CANCEL Reason is not propagated

2018-08-16 Thread Schneur Rosenberg
Wow I never knew this feature exists, do all phones implement this feature?

On Thu, Aug 16, 2018, 11:02 AM vasilevalex 
wrote:

> Hello Răzvan,
>
> Thank you very much for so fast response and fix!
>
> I built branch 2.4 from git and now it works fine, as it should.
>
> CANCEL Reason is propagated to client.
>
>
>
> --
> Sent from:
> http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html
>
> ___
> 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] CANCEL Reason is not propagated

2018-08-16 Thread vasilevalex
Hello Răzvan,

Thank you very much for so fast response and fix!

I built branch 2.4 from git and now it works fine, as it should.

CANCEL Reason is propagated to client.



--
Sent from: 
http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html

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


Re: [OpenSIPS-Users] CANCEL Reason is not propagated

2018-08-16 Thread Răzvan Crainea

Hello, Alexei!

It does seem to be an issue added in 2.4 related to this behavior.
I have just pushed a fix on master and 2.4 branch[1]. Can you pull the 
latest sources and check if this issue still persists?


[1] 
https://github.com/OpenSIPS/opensips/commit/deb05da54efb247a472fb315974ea37a51516628


Best regards,
Răzvan

On 08/16/2018 10:19 AM, vasilevalex wrote:

Hello.

OpenSIPS 2.4.2, OpenSIPS 2.4.1

If OpenSIPS receives CANCEL it is better to send original Reason to the
endpoint. For example somebody answered queue call and all the others will
get "Call completed elsewhere" and will have no missed call on the phone.

And there is even an article about this.
https://blog.opensips.org/2016/11/15/cancel-request-and-reason-header/

So in my config there is:
# CANCEL processing
   if (is_method("CANCEL")) {
 if (t_check_trans()) {
   rtpengine_delete();
   # flag 0x08 preserve the received Reason header
   t_relay("0x08");
 }
 exit;
  }

But finally on phone I've got "Originator cancel":

2018/08/16 06:19:17.949614 :5060 -> :5060
CANCEL sip:202@:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1d026f40
Max-Forwards: 70
From: "test-queue" >;tag=as5af2f2e9
To: :5060>
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
CSeq: 102 CANCEL
User-Agent: asterisk
Reason: SIP;cause=200;text="Call completed elsewhere"
Content-Length: 0

2018/08/16 06:19:17.951722 :5060 -> :5060
SIP/2.0 200 canceling
Via: SIP/2.0/UDP :5060;received=;rport=5060;branch=z9hG4bK1d026f40
From: "test-queue" >;tag=as5af2f2e9
To: :5060>;tag=acf96d526e7e753a171e4824376d2012-8491
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
CSeq: 102 CANCEL
Server: SIP Proxy
Content-Length: 0

2018/08/16 06:19:17.951884 :5060 -> 192.168.11.59:50153
CANCEL sip:202@192.168.11.59:5073;transport=tcp SIP/2.0
Via: SIP/2.0/TCP :5060;branch=z9hG4bKbe6e.f5a7989.0
From: "test-queue" ;tag=as5af2f2e9
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
To: 
CSeq: 102 CANCEL
Max-Forwards: 70
Reason: SIP;cause=487;text="ORIGINATOR_CANCEL"
User-Agent: SIP Proxy
Content-Length: 0

192.168.11.59 - phone IP.

I tried t_relay("8"); - the same results. And of course, t_relay() without
parameters also uses default "Originator cancel"

But if OpenSIPS makes fork call for several devices with one account and
somebody answers, Cancel Reason is generated correctly - "Call completed
elsewhere".

So the problem only when I want to propagate Reason header.




--
Sent from: 
http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html

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



--
Răzvan Crainea
OpenSIPS Core Developer
  http://www.opensips-solutions.com

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


[OpenSIPS-Users] CANCEL Reason is not propagated

2018-08-16 Thread vasilevalex
Hello.

OpenSIPS 2.4.2, OpenSIPS 2.4.1

If OpenSIPS receives CANCEL it is better to send original Reason to the
endpoint. For example somebody answered queue call and all the others will
get "Call completed elsewhere" and will have no missed call on the phone.

And there is even an article about this.
https://blog.opensips.org/2016/11/15/cancel-request-and-reason-header/

So in my config there is: 
# CANCEL processing
  if (is_method("CANCEL")) {
if (t_check_trans()) {
  rtpengine_delete();
  # flag 0x08 preserve the received Reason header
  t_relay("0x08");
}
exit;
 }

But finally on phone I've got "Originator cancel":

2018/08/16 06:19:17.949614 :5060 -> :5060
CANCEL sip:202@:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1d026f40
Max-Forwards: 70
From: "test-queue" >;tag=as5af2f2e9
To: :5060>
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
CSeq: 102 CANCEL
User-Agent: asterisk
Reason: SIP;cause=200;text="Call completed elsewhere"
Content-Length: 0

2018/08/16 06:19:17.951722 :5060 -> :5060
SIP/2.0 200 canceling
Via: SIP/2.0/UDP :5060;received=;rport=5060;branch=z9hG4bK1d026f40
From: "test-queue" >;tag=as5af2f2e9
To: :5060>;tag=acf96d526e7e753a171e4824376d2012-8491
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
CSeq: 102 CANCEL
Server: SIP Proxy
Content-Length: 0

2018/08/16 06:19:17.951884 :5060 -> 192.168.11.59:50153
CANCEL sip:202@192.168.11.59:5073;transport=tcp SIP/2.0
Via: SIP/2.0/TCP :5060;branch=z9hG4bKbe6e.f5a7989.0
From: "test-queue" ;tag=as5af2f2e9
Call-ID: 1f3ba1405303ad3269d21ee46775dee5@
To: 
CSeq: 102 CANCEL
Max-Forwards: 70
Reason: SIP;cause=487;text="ORIGINATOR_CANCEL"
User-Agent: SIP Proxy
Content-Length: 0

192.168.11.59 - phone IP.

I tried t_relay("8"); - the same results. And of course, t_relay() without
parameters also uses default "Originator cancel"

But if OpenSIPS makes fork call for several devices with one account and
somebody answers, Cancel Reason is generated correctly - "Call completed
elsewhere".

So the problem only when I want to propagate Reason header.




--
Sent from: 
http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html

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