Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Brian Southworth
Sorry my apologies.

 
So from the beginning opensips acts as an authorization proxy which passes the 
call on to an asterisk box based on load (using load balancer).

I am trying to get the opensips proxy to handle call transfers and I thought 
the b2bua would be the best way. Initially the refer was sent to the asterisk 
box.

 
On inbound calls 

The call comes in from the carrier goes to asterisk, asterisk then passes the 
sip invite to the proxy which then rings the sip phone.

 
What I wish to achieve is a way to transfer an inbound call to an internal 
extension or external number.

 
Example: 

Caller A receives call à caller A places call on hold and dials caller B à 
caller B picks up à caller A presses cisco xfer and call is passed to caller B

 
I was hoping to achieve this using the proxy or asterisk box if possible.

 
I hope this helps.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: 02 February 2018 16:50
To: Brian Southworth ; OpenSIPS users mailling list 

Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
I'm a bit confused. The original report was on a record_route() / loose_route() 
matter. But you say you have opensips as B2B, so the RR mechanism must not be 
used in such a case - you act either as a end-point, either as a proxy - you 
cannot be both for the same call.

Now you have this b2b error, during a call transfer scenario. and you mentioned 
LB also :)...so I'm a bit confused - could please try to put all these pieces 
together, so I can understand what you are doing ?

Regards,



Bogdan-Andrei Iancu


 

OpenSIPS Founder and Developer


  http://www.opensips-solutions.com  


OpenSIPS Summit 2018


  http://www.opensips.org/events/Summit-2018Amsterdam 
 

On 02/02/2018 04:27 PM, Brian Southworth wrote:

Maybe I am doing this wrong but I wanted the B2BUA module to handle the refer 
and bridge the calls. 

I have the B2bUA working now. However my issue is that its not able to send the 
replies.

 
incoming reply

b2b_reply (B2B.222.7591351.1517580641)

Feb  2 14:10:47 [22664] ERROR:tm:_reply_light: failed to generate 408 reply 
when a final 200 was sent out

Feb  2 14:10:47 [22664] ERROR:b2b_entities:b2b_send_reply: failed to send reply 
with tm

Feb  2 14:10:47 [22664] ERROR:b2b_logic:b2b_logic_notify_reply: Sending reply 
failed - 408, [B2B.452.342.1517580641]

 
Do you need anything else to help me debug this ? I am not sure why its failing 
to pass the reply with tm, I have enabled the param:

modparam("tm", "pass_provisional_replies", 1)

 
I should also note that I am using the load balancer module also. This normally 
deals with all call distribution. In and out.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org 
 ] 
Sent: 02 February 2018 14:20
To: Brian Southworth  
 ; OpenSIPS users mailling list 
  
Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
Hi Brian,

Maybe that warning points to a routing error that prevents the REFER to be 
route to carrier - make a sip capture to be sure the REFER from A is properly 
routed and accepted by the carrier.

Regards,




Bogdan-Andrei Iancu


 

OpenSIPS Founder and Developer


  http://www.opensips-solutions.com  


OpenSIPS Summit 2018


  http://www.opensips.org/events/Summit-2018Amsterdam 
 

On 02/02/2018 01:38 PM, Brian Southworth wrote:

Hi Bogdan,

 
Thank you very much, so this doesn’t have any impact on why the call being 
transferred are dropped ?

 
I am trying to transfer a call using the refer method as that is what the cisco 
phones use.

 
The network is setup like so opensips proxy à asterisk gateway à carrier

 
Scenario:

 
Inbound call comes into the phone like so: carrier à ast à proxy à phone A

Phone A needs to transfer call to phone B: Phone A dials phone B à phone B 
picks up à phone A presses xfer button and call is dropped.

 
Any help would be appreciated.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org 
 ] 
Sent: 02 February 2018 11:29
To: OpenSIPS users mailling list  
 ; Brian Southworth 
  
Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
Hi Brian,

That warning means OpenSIPS found a Route header (while doing loose_route) that 
is suppose to be of its own, but the network information from the header does 
not match any of the OpenSIPS SIP listeners.

Best regards,





Bogdan-Andrei Iancu


 

Open

Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Bogdan-Andrei Iancu
I'm a bit confused. The original report was on a record_route() / 
loose_route() matter. But you say you have opensips as B2B, so the RR 
mechanism must not be used in such a case- you act either as a 
end-point, either as a proxy - you cannot be both for the same call.


Now you have this b2b error, during a call transfer scenario. and you 
mentioned LB also :)...so I'm a bit confused - could please try to put 
all these pieces together, so I can understand what you are doing?


Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 04:27 PM, Brian Southworth wrote:


Maybe I am doing this wrong but I wanted the B2BUA module to handle 
the refer and bridge the calls.


I have the B2bUA working now. However my issue is that its not able to 
send the replies.


incoming reply

b2b_reply (B2B.222.7591351.1517580641)

Feb  2 14:10:47 [22664] ERROR:tm:_reply_light: failed to generate 408 
reply when a final 200 was sent out


Feb  2 14:10:47 [22664] ERROR:b2b_entities:b2b_send_reply: failed to 
send reply with tm


Feb  2 14:10:47 [22664] ERROR:b2b_logic:b2b_logic_notify_reply: 
Sending reply failed - 408, [B2B.452.342.1517580641]


Do you need anything else to help me debug this ? I am not sure why 
its failing to pass the reply with tm, I have enabled the param:


modparam("tm","pass_provisional_replies",1)

I should also note that I am using the load balancer module also. This 
normally deals with all call distribution. In and out.


Regards,

Brian Southworth

*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* 02 February 2018 14:20
*To:* Brian Southworth ; OpenSIPS users 
mailling list 
*Subject:* Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no 
socket found to match RR [1][XXX.XXX.XXX.XXX:5060]


Hi Brian,

Maybe that warning points to a routing error that prevents the REFER 
to be route to carrier - make a sip capture to be sure the REFER from 
A is properly routed and accepted by the carrier.


Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Summit 2018
   http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 01:38 PM, Brian Southworth wrote:

Hi Bogdan,

Thank you very much, so this doesn’t have any impact on why the
call being transferred are dropped ?

I am trying to transfer a call using the refer method as that is
what the cisco phones use.

The network is setup like so opensips proxy àasterisk gateway àcarrier

Scenario:

Inbound call comes into the phone like so: carrier àast àproxy
àphone A

Phone A needs to transfer call to phone B: Phone A dials phone B
àphone B picks up àphone A presses xfer button and call is dropped.

Any help would be appreciated.

Regards,

Brian Southworth

*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* 02 February 2018 11:29
*To:* OpenSIPS users mailling list 
; Brian Southworth
 
*Subject:* Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict:
no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

Hi Brian,

That warning means OpenSIPS found a Route header (while doing
loose_route) that is suppose to be of its own, but the network
information from the header does not match any of the OpenSIPS SIP
listeners.

Best regards,


Bogdan-Andrei Iancu

  


OpenSIPS Founder and Developer

   http://www.opensips-solutions.com

OpenSIPS Summit 2018

   http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 11:14 AM, Brian Southworth wrote:

I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR
[1][xxx.xxx.xxx.xxx:5060]

When I try looking on the mailing list there are no other
similar posts, could you please shed some light on what maybe
causing this please.

Regards,

Brian Southworth





___

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] Handling 488 on a leg B

2018-02-02 Thread Dmitry
Hi Bogdan,

Thank you indeed for the help!

After moving the first changing body to branch (and second too), it works 
perfect.

 

From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: Friday, February 2, 2018 5:18 PM
To: Dmitry ; 'OpenSIPS users mailling list' 

Subject: Re: [OpenSIPS-Users] Handling 488 on a leg B

 

Hi Dmitry,

In order to push per-branch changes (changes which are specific only to a 
certain branch and not to all of them), you need to use the branch route - see 
http://www.opensips.org/Documentation/Script-Routes-2-3#toc2

So, put the code for changing the body via rtpengine into a branch route.

Regards,



Bogdan-Andrei Iancu
 
OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 12:53 PM, Dmitry wrote:

Hi Bogdan,

I change both of them. The first INVITE and the second (after 488).

The first apply successfully, but the second (that in the failure_route) does 
not.

 

My script looks like this:

 

route {

…

  t_on_reply("ONREPLY”);

  if (isbflagset(NAT_BFLAG) && af!=INET6) {

force_rport(); # add rport to first line Via:

route(RTPENGINE_OFFER); # make offer

  }

…

  t_relay();

…

}

 

route[RTPENGINE_OFFER] {

  …

  $avp(rtp_profile) = "trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off RTP/SAVP";

  if 
(rtpengine_offer("$avp(rtp_profile)","$avp(rtp_socket)","$avp(rtp_body)")) {

remove_body_part();

add_body_part("$avp(rtp_body)", "application/sdp"); # first changing 
leg-B - successfully

  }

  …

}

 

onreply_route[ONREPLY] {

…

  t_on_reply("RTPENGINE_ANSWER"); # positive

  t_on_failure("RTPENGINE_488");  # negative

…

}

 

failure_route[RTPENGINE_488] {

…

  if (t_check_status("488") ) {

 

# try to change SDP in leg-B after 488 received - unsuccessfully

#  it returns: ERROR:rtpengine:rtpe_function_call: can't extract body from 
the message. 

# from which message?

if (rtpengine_offer("trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off 
RTP/AVP","$avp(rtp_socket)","$avp(rtp_body)")) {

  remove_body_part();

  add_body_part("$avp(rtp_body)", "application/sdp");

}

# 

 

#  just replace with re.subst

$avp(rtp_body) = $(avp(rtp_body){re.subst,/SAVP/AVP/g});

$avp(rtp_body) = $(avp(rtp_body){re.subst,/a=crypto.*//g});

 # if I use remove_body_part(), then add_body_part() is not adds content. 
INVITE sends without body.

remove_body_part();

 # if I don’t use remove_body_part(), then INVITE contains TWO sdp body 
with RTP/SAVP and RTP/AVP

add_body_part("$avp(rtp_body)", "application/sdp");

#

 

xlog("rtp_body=$avp(rtp_body)\n");

   # xlog for $avp(rtp_body) shows unchanged content (with RTP/SAVP)

 

…

 t_relay();

  }

…

}

 

From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: Thursday, February 1, 2018 7:51 PM
To: Dmitry   ; 'OpenSIPS users 
mailling list'   
Subject: Re: [OpenSIPS-Users] Handling 488 on a leg B

 

Hi Dmitry,

In failure route you re-process the original request (INVITE) and not the 488 
reply - the reply is just the trigger.
Do you change the INVITE SDP before the first attempt (which ends with 488) ? 
Or you change it for the first time in the failure route ?

Regards,




Bogdan-Andrei Iancu
 
OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/01/2018 05:34 PM, Dmitry wrote:

Hello Bogdan,

Thank you for advice.

I catched 488 and can send INVITE from failure_route, but I can’t modify body 
inside it.

The main goal is change SAVP profile to AVP when 488 received.

I tried to do it via rtpengine_offer function. It doesn’t work. I guess, it try 
to read the body from response (488 in my case) but not from request.

I tried to rewrite body via remove_body_part and add_body_part functions, it 
also doesn’t work.

So, I don’t understand how exactly rewrite body in failure_route before do 
t_relay().

In addition, I tried making a new branch (via append_branch function and via 
branch_route). It just duplicate my re-INVITE without changing the body.

Could you please drop a hint (example on few lines of code) how to do it?

Thanks.

 

From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: Wednesday, January 31, 2018 6:55 PM
To: OpenSIPS users mailling list   
; Dmitry   

Subject: Re: [OpenSIPS-Users] Handling 488 on a leg B

 

Hello Dmitry,

What you want to do is called (in SIP) serial forking. Use failure_route{} to 
catch the 488 and to add a create a new branch (with modified body) .

See: http://www.opensips.org/Documentation/Script-Routes-2-3#toc3

Regards,





Bogdan-Andrei Iancu
 
OpenSIPS Founder and Developer
  http://www

[OpenSIPS-Users] Upgrade opensips

2018-02-02 Thread Vishal Pai
Hello all,

I want to upgrade  my existing system developed on opensips version 1.10
 to opensips version 2.2.


What is best possible to do this without any issue.
___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Brian Southworth
Maybe I am doing this wrong but I wanted the B2BUA module to handle the refer 
and bridge the calls. 

I have the B2bUA working now. However my issue is that its not able to send the 
replies.

 
incoming reply

b2b_reply (B2B.222.7591351.1517580641)

Feb  2 14:10:47 [22664] ERROR:tm:_reply_light: failed to generate 408 reply 
when a final 200 was sent out

Feb  2 14:10:47 [22664] ERROR:b2b_entities:b2b_send_reply: failed to send reply 
with tm

Feb  2 14:10:47 [22664] ERROR:b2b_logic:b2b_logic_notify_reply: Sending reply 
failed - 408, [B2B.452.342.1517580641]

 
Do you need anything else to help me debug this ? I am not sure why its failing 
to pass the reply with tm, I have enabled the param:

modparam("tm", "pass_provisional_replies", 1)

 
I should also note that I am using the load balancer module also. This normally 
deals with all call distribution. In and out.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: 02 February 2018 14:20
To: Brian Southworth ; OpenSIPS users mailling list 

Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
Hi Brian,

Maybe that warning points to a routing error that prevents the REFER to be 
route to carrier - make a sip capture to be sure the REFER from A is properly 
routed and accepted by the carrier.

Regards,



Bogdan-Andrei Iancu


 

OpenSIPS Founder and Developer


  http://www.opensips-solutions.com  


OpenSIPS Summit 2018


  http://www.opensips.org/events/Summit-2018Amsterdam 
 

On 02/02/2018 01:38 PM, Brian Southworth wrote:

Hi Bogdan,

 
Thank you very much, so this doesn’t have any impact on why the call being 
transferred are dropped ?

 
I am trying to transfer a call using the refer method as that is what the cisco 
phones use.

 
The network is setup like so opensips proxy à asterisk gateway à carrier

 
Scenario:

 
Inbound call comes into the phone like so: carrier à ast à proxy à phone A

Phone A needs to transfer call to phone B: Phone A dials phone B à phone B 
picks up à phone A presses xfer button and call is dropped.

 
Any help would be appreciated.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org 
 ] 
Sent: 02 February 2018 11:29
To: OpenSIPS users mailling list  
 ; Brian Southworth 
  
Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
Hi Brian,

That warning means OpenSIPS found a Route header (while doing loose_route) that 
is suppose to be of its own, but the network information from the header does 
not match any of the OpenSIPS SIP listeners.

Best regards,




Bogdan-Andrei Iancu


 

OpenSIPS Founder and Developer


  http://www.opensips-solutions.com  


OpenSIPS Summit 2018


  http://www.opensips.org/events/Summit-2018Amsterdam 
 

On 02/02/2018 11:14 AM, Brian Southworth wrote:

I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR 
[1][xxx.xxx.xxx.xxx:5060]

 
When I try looking on the mailing list there are no other similar posts, could 
you please shed some light on what maybe causing this please.

 
Regards,

 
Brian Southworth







___


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] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Bogdan-Andrei Iancu

Hi Brian,

Maybe thatwarning points toa routing error that prevents the REFER to be 
route to carrier - make a sip capture to be sure the REFER from A is 
properly routed and accepted by the carrier.


Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 01:38 PM, Brian Southworth wrote:


Hi Bogdan,

Thank you very much, so this doesn’t have any impact on why the call 
being transferred are dropped ?


I am trying to transfer a call using the refer method as that is what 
the cisco phones use.


The network is setup like so opensips proxy àasterisk gateway àcarrier

Scenario:

Inbound call comes into the phone like so: carrier àast àproxy àphone A

Phone A needs to transfer call to phone B: Phone A dials phone B 
àphone B picks up àphone A presses xfer button and call is dropped.


Any help would be appreciated.

Regards,

Brian Southworth

*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* 02 February 2018 11:29
*To:* OpenSIPS users mailling list ; Brian 
Southworth 
*Subject:* Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no 
socket found to match RR [1][XXX.XXX.XXX.XXX:5060]


Hi Brian,

That warning means OpenSIPS found a Route header (while doing 
loose_route) that is suppose to be of its own, but the network 
information from the header does not match any of the OpenSIPS SIP 
listeners.


Best regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Summit 2018
   http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 11:14 AM, Brian Southworth wrote:

I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR
[1][xxx.xxx.xxx.xxx:5060]

When I try looking on the mailing list there are no other similar
posts, could you please shed some light on what maybe causing this
please.

Regards,

Brian Southworth




___

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] Handling 488 on a leg B

2018-02-02 Thread Bogdan-Andrei Iancu

Hi Dmitry,

In order to push per-branch changes (changes which are specific only to 
a certainbranch and not to all of them), you need to use the branch 
route- see http://www.opensips.org/Documentation/Script-Routes-2-3#toc2


So, put the code for changing the body via rtpengine into a branch route.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 12:53 PM, Dmitry wrote:


Hi Bogdan,

I change both of them. The first INVITE and the second (after 488).

The first apply successfully, but the second (that in the 
failure_route) does not.


My script looks like this:

route {

…

t_on_reply("ONREPLY”);

if (isbflagset(NAT_BFLAG) && af!=INET6) {

force_rport(); # add rport to first line Via:

route(RTPENGINE_OFFER); # make offer

}

…

t_relay();

…

}

route[RTPENGINE_OFFER] {

…

$avp(rtp_profile) = "trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off RTP/SAVP";


if 
(rtpengine_offer("$avp(rtp_profile)","$avp(rtp_socket)","$avp(rtp_body)")) 
{


  remove_body_part();

  add_body_part("$avp(rtp_body)", "application/sdp"); # first changing 
leg-B - successfully


}

…

}

onreply_route[ONREPLY] {

…

t_on_reply("RTPENGINE_ANSWER"); # positive

t_on_failure("RTPENGINE_488");  # negative

…

}

failure_route[RTPENGINE_488] {

…

if (t_check_status("488") ) {

# try to change SDP in leg-B after 488 received - unsuccessfully

# it returns: ERROR:rtpengine:rtpe_function_call: can't extract body 
from the message.


# from which message?

if (rtpengine_offer("trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off 
RTP/AVP","$avp(rtp_socket)","$avp(rtp_body)")) {


remove_body_part();

  add_body_part("$avp(rtp_body)", "application/sdp");

}

#

# just replace with re.subst

$avp(rtp_body) = $(avp(rtp_body){re.subst,/SAVP/AVP/g});

$avp(rtp_body) = $(avp(rtp_body){re.subst,/a=crypto.*//g});

# if I use remove_body_part(), then add_body_part() is not adds 
content. INVITE sends without body.


remove_body_part();

# if I don’t use remove_body_part(), then INVITE contains TWO sdp body 
with RTP/SAVP and RTP/AVP


add_body_part("$avp(rtp_body)", "application/sdp");

#

  xlog("rtp_body=$avp(rtp_body)\n");

   # xlog for $avp(rtp_body) shows unchanged content (with RTP/SAVP)

…

t_relay();

}

…

}

*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* Thursday, February 1, 2018 7:51 PM
*To:* Dmitry ; 'OpenSIPS users mailling list' 


*Subject:* Re: [OpenSIPS-Users] Handling 488 on a leg B

Hi Dmitry,

In failure route you re-process the original request (INVITE) and not 
the 488 reply - the reply is just the trigger.
Do you change the INVITE SDP before the first attempt (which ends with 
488) ? Or you change it for the first time in the failure route ?


Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Summit 2018
   http://www.opensips.org/events/Summit-2018Amsterdam

On 02/01/2018 05:34 PM, Dmitry wrote:

Hello Bogdan,

Thank you for advice.

I catched 488 and can send INVITE from failure_route, but I can’t
modify body inside it.

The main goal is change SAVP profile to AVP when 488 received.

I tried to do it via rtpengine_offer function. It doesn’t work. I
guess, it try to read the body from response (488 in my case) but
not from request.

I tried to rewrite body via remove_body_part and add_body_part
functions, it also doesn’t work.

So, I don’t understand how exactly rewrite body in failure_route
before do t_relay().

In addition, I tried making a new branch (via append_branch
function and via branch_route). It just duplicate my re-INVITE
without changing the body.

Could you please drop a hint (example on few lines of code) how to
do it?

Thanks.

*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* Wednesday, January 31, 2018 6:55 PM
*To:* OpenSIPS users mailling list 
; Dmitry 

*Subject:* Re: [OpenSIPS-Users] Handling 488 on a leg B

Hello Dmitry,

What you want to do is called (in SIP) serial forking. Use
failure_route{} to catch the 488 and to add a create a new branch
(with modified body) .

See: http://www.opensips.org/Documentation/Script-Routes-2-3#toc3

Regards,


Bogdan-Andrei Iancu

  


OpenSIPS Founder and Developer

   http://www.opensips-solutions.com

OpenSIPS Summit 2018

   http://www.opensips.org/events/Summit-2018Amsterdam

On 01/30/2018 02:56 PM, Dmitry wrote:

Hello all,

Could you say how can I re-send INVITE with changed SDP to
B-leg after receive 488 from it?

Call flow:

-> A-leg INVITE

<- A-leg 100

-> B-leg INVITE

<- B-leg 100

<- B-leg 4

Re: [OpenSIPS-Users] Potential memory leak in siptrace module

2018-02-02 Thread Răzvan Crainea

Hi, Steve!

We actually found out a memory leak related to transactions tracing. 
Unfortunately the fix is not that easy, so it will take a while until we 
figure out the right way to solve this. I will keep you updated.


Best regards,
Răzvan

On 02/01/2018 07:30 PM, Steve Brisson wrote:

Hi,

In answer to your questions…

1.

$ opensips -V

version: opensips 2.3.2 (x86_64/linux)

flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, 
F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT


ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
MAX_URI_SIZE 1024, BUF_SIZE 65535


poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.

main.c compiled on 15:38:40 Nov 24 2017 with gcc 5.4.0

I built from commit 9e497ea4ab03c67cb073bdf0dccef2b16bff80e2. I've since 
diff'd with the HEAD and I haven't seen any changes in the siptrace code 
that would have helped my particular issue.


2.

The call to sip_trace is in the main request route branch and it gets 
called for all requests.


input parameters:

sip_trace("tid", "d", "sip");

module config:

modparam("siptrace", "trace_on", 0)

modparam("siptrace", "trace_id", 
"[tid]uri=mysql://db-user:db-pass@db-host/db-name;table=sip_trace;")


*From:*Bogdan-Andrei Iancu [mailto:bog...@opensips.org]
*Sent:* Thursday, February 1, 2018 10:54 AM
*To:* OpenSIPS users mailling list ; Steve 
Brisson 

*Subject:* Re: [OpenSIPS-Users] Potential memory leak in siptrace module

Hi Steve,

Thank you for your report. Could you provide the exact revision of your 
OpenSIPS (opensips -V) ?


Also what requests are you calling the sip_trace() for (INVITES ? 
PUBLISH? all?) and what are the input paramters ?


Thanks,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer

   http://www.opensips-solutions.com

OpenSIPS Summit 2018

   http://www.opensips.org/events/Summit-2018Amsterdam

On 01/31/2018 07:48 PM, Steve Brisson wrote:

I've found that when I call the sip_trace method, in the main
request routing block, the shmem used_size and fragments continually
increases until the process crashes from an out of memory condition.

By enabling memory alloc debugging, I confirmed that the leaked
allocation is the shm_malloc of a trace_info_t structure in the
sip_trace_w method [siptrace.c:1539]. This piece of memory is
supposed to be freed in the dialog terminated callback but because
of the logic in the sip_trace_w method, trace_flags gets modified to
TRACE_TRANSACTION and the dialog callbacks are never registered.

I haven't worked out the details of a proper fix yet. My workaround
has been to remove the siptrace module from my config.

OpenSIPS config details:

opensips 2.3.2 (x86_64/linux)

#siptrace module config

modparam("siptrace", "trace_on", 0)

modparam("siptrace", "trace_id",
"[tid]uri=mysql://db-user:db-pass@db-host/db-name;table=sip_trace;")

#siptrace method call in main request branch

sip_trace("tid", "d", "sip");




___

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



--
Răzvan Crainea
OpenSIPS Core Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

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


Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Brian Southworth
Hi Bogdan,

 
Thank you very much, so this doesn’t have any impact on why the call being 
transferred are dropped ?

 
I am trying to transfer a call using the refer method as that is what the cisco 
phones use.

 
The network is setup like so opensips proxy à asterisk gateway à carrier

 
Scenario:

 
Inbound call comes into the phone like so: carrier à ast à proxy à phone A

Phone A needs to transfer call to phone B: Phone A dials phone B à phone B 
picks up à phone A presses xfer button and call is dropped.

 
Any help would be appreciated.

 
Regards,

 
Brian Southworth

 
From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: 02 February 2018 11:29
To: OpenSIPS users mailling list ; Brian Southworth 

Subject: Re: [OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found 
to match RR [1][XXX.XXX.XXX.XXX:5060]

 
Hi Brian,

That warning means OpenSIPS found a Route header (while doing loose_route) that 
is suppose to be of its own, but the network information from the header does 
not match any of the OpenSIPS SIP listeners.

Best regards,



Bogdan-Andrei Iancu


 

OpenSIPS Founder and Developer


  http://www.opensips-solutions.com  


OpenSIPS Summit 2018


  http://www.opensips.org/events/Summit-2018Amsterdam 
 

On 02/02/2018 11:14 AM, Brian Southworth wrote:

I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR 
[1][xxx.xxx.xxx.xxx:5060]

 
When I try looking on the mailing list there are no other similar posts, could 
you please shed some light on what maybe causing this please.

 
Regards,

 
Brian Southworth






___


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] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Bogdan-Andrei Iancu

Hi Brian,

That warning means OpenSIPS found a Route header (while doing 
loose_route) that is suppose to be of its own, but the network 
information from the header does not match any of the OpenSIPS SIP 
listeners.


Best regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/02/2018 11:14 AM, Brian Southworth wrote:


I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR 
[1][xxx.xxx.xxx.xxx:5060]


When I try looking on the mailing list there are no other similar 
posts, could you please shed some light on what maybe causing this please.


Regards,

Brian Southworth



___
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] OpenSIPS at FOSDEM 2018

2018-02-02 Thread Răzvan Crainea



On 01/30/2018 07:27 PM, Răzvan Crainea wrote:

Hi, everyone!

This year the OpenSIPS team is going to be present again at FOSDEM, the 
largest open-source conference in Europe.


Our talk for FOSDEM 2018 is going to present one of the main attraction 
of the upcoming OpenSIPS release: *Real Time Clustering* using OpenSIPS 
2.4.


Join us for this talk on Saturday, 15:00, in Room H.1309 (Van Rijn)[1] 
to find out what are the new and powerful tools we've been working on 
for the OpenSIPS Clustering!


Mind my typo, our talk is on Sunday, 15:00, in the RTC devroom, H.1309 
(Van Rijn)[1].




[1] https://fosdem.org/2018/schedule/event/opensips/



See you there!
Cheers,

--
Răzvan Crainea
OpenSIPS Core Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

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


Re: [OpenSIPS-Users] Handling 488 on a leg B

2018-02-02 Thread Dmitry
Hi Bogdan,

I change both of them. The first INVITE and the second (after 488).

The first apply successfully, but the second (that in the failure_route) does 
not.

 

My script looks like this:

 

route {

…

  t_on_reply("ONREPLY”);

  if (isbflagset(NAT_BFLAG) && af!=INET6) {

force_rport(); # add rport to first line Via:

route(RTPENGINE_OFFER); # make offer

  }

…

  t_relay();

…

}

 

route[RTPENGINE_OFFER] {

  …

  $avp(rtp_profile) = "trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off RTP/SAVP";

  if 
(rtpengine_offer("$avp(rtp_profile)","$avp(rtp_socket)","$avp(rtp_body)")) {

remove_body_part();

add_body_part("$avp(rtp_body)", "application/sdp"); # first changing 
leg-B - successfully

  }

  …

}

 

onreply_route[ONREPLY] {

…

  t_on_reply("RTPENGINE_ANSWER"); # positive

  t_on_failure("RTPENGINE_488");  # negative

…

}

 

failure_route[RTPENGINE_488] {

…

  if (t_check_status("488") ) {

 

# try to change SDP in leg-B after 488 received - unsuccessfully

#  it returns: ERROR:rtpengine:rtpe_function_call: can't extract body from 
the message. 

# from which message?

if (rtpengine_offer("trust-address replace-origin 
replace-session-connection ICE=remove DTLS=off 
RTP/AVP","$avp(rtp_socket)","$avp(rtp_body)")) {

  remove_body_part();

  add_body_part("$avp(rtp_body)", "application/sdp");

}

# 

 

#  just replace with re.subst

$avp(rtp_body) = $(avp(rtp_body){re.subst,/SAVP/AVP/g});

$avp(rtp_body) = $(avp(rtp_body){re.subst,/a=crypto.*//g});

 # if I use remove_body_part(), then add_body_part() is not adds content. 
INVITE sends without body.

remove_body_part();

 # if I don’t use remove_body_part(), then INVITE contains TWO sdp body 
with RTP/SAVP and RTP/AVP

add_body_part("$avp(rtp_body)", "application/sdp");

#

 

xlog("rtp_body=$avp(rtp_body)\n");

   # xlog for $avp(rtp_body) shows unchanged content (with RTP/SAVP)

 

…

 t_relay();

  }

…

}

 

From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: Thursday, February 1, 2018 7:51 PM
To: Dmitry ; 'OpenSIPS users mailling list' 

Subject: Re: [OpenSIPS-Users] Handling 488 on a leg B

 

Hi Dmitry,

In failure route you re-process the original request (INVITE) and not the 488 
reply - the reply is just the trigger.
Do you change the INVITE SDP before the first attempt (which ends with 488) ? 
Or you change it for the first time in the failure route ?

Regards,



Bogdan-Andrei Iancu
 
OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 02/01/2018 05:34 PM, Dmitry wrote:

Hello Bogdan,

Thank you for advice.

I catched 488 and can send INVITE from failure_route, but I can’t modify body 
inside it.

The main goal is change SAVP profile to AVP when 488 received.

I tried to do it via rtpengine_offer function. It doesn’t work. I guess, it try 
to read the body from response (488 in my case) but not from request.

I tried to rewrite body via remove_body_part and add_body_part functions, it 
also doesn’t work.

So, I don’t understand how exactly rewrite body in failure_route before do 
t_relay().

In addition, I tried making a new branch (via append_branch function and via 
branch_route). It just duplicate my re-INVITE without changing the body.

Could you please drop a hint (example on few lines of code) how to do it?

Thanks.

 

From: Bogdan-Andrei Iancu [mailto:bog...@opensips.org] 
Sent: Wednesday, January 31, 2018 6:55 PM
To: OpenSIPS users mailling list   
; Dmitry   

Subject: Re: [OpenSIPS-Users] Handling 488 on a leg B

 

Hello Dmitry,

What you want to do is called (in SIP) serial forking. Use failure_route{} to 
catch the 488 and to add a create a new branch (with modified body) .

See: http://www.opensips.org/Documentation/Script-Routes-2-3#toc3

Regards,




Bogdan-Andrei Iancu
 
OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 01/30/2018 02:56 PM, Dmitry wrote:

Hello all,

Could you say how can I re-send INVITE with changed SDP to B-leg after receive 
488 from it?

Call flow:

-> A-leg INVITE

<- A-leg 100

-> B-leg INVITE

<- B-leg 100

<- B-leg 488 – I catch it, and want to send INVITE again with properly SDP

-> B-leg ACK

<-A-leg 488

-> B-leg ACK

 

Thanks for any advice.

Cheers!







___
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] OpenSIPS Summit 50% off during Fosdem weekend

2018-02-02 Thread Bogdan-Andrei Iancu

*Fosdem, here we come!*

Are you a Fosdem , 
an Open Source or an OpenSIPS fan?


Don't mis us Sunday, 15:00, in Room H.1309 
, talking about 
*/R/*/*eal Time Clustering*/ using OpenSIPS 2.4 !!


And we gave a gift for you all - save 50% for OpenSIPS Summit and 
OpenSIPS Training by registering during *Fosdem* weekend 02-04 of 
February with token


*b3e737ac-9019-493f--9f6c16af3bc9*

*Register now 
* and 
secure your seat for the OpenSIPS Summit !



--
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

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


[OpenSIPS-Users] [15066] WARNING:rr:after_strict: no socket found to match RR [1][XXX.XXX.XXX.XXX:5060]

2018-02-02 Thread Brian Southworth
I get this when trying to transfer calls using the B2BUA:

[15066] WARNING:rr:after_strict: no socket found to match RR 
[1][xxx.xxx.xxx.xxx:5060]

 
When I try looking on the mailing list there are no other similar posts, could 
you please shed some light on what maybe causing this please.

 
Regards,

 
Brian Southworth

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