Re: [OpenSIPS-Users] Rtpproxy and IPV4 IPV6 interworking

2016-11-09 Thread Răzvan Crainea

Hi, Robert!

Yes, in cases where you don't need IPv6, use II for those requests.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/09/2016 07:12 PM, Robert Dyck wrote:

I should have described the scenario in more detail.

The rtproxy is in bridge mode because two addresses were specified. This was to
accommodate IPV4 - IPV6 interworking. However the rtpproxy is also to be used
for NAT traversal. This is not a bridge in the physical sense because there
only one interface. For NAT traversal the IPV6 address should be ignored. Am I
correct in thinking that one should use either II flags or EE flags depending on
the order of the addresses given to rtpproxy?

Thank you for taking the time for this.

On November 9, 2016 12:23:09 PM you wrote:

Hi, Robert!

Yes, the I and E parameters are mandatory, and they should describe how
the RTP will flow. For example if the flow is from IPv4 to IPv6, you
should use EI; if the flow is from IPv4 to IPv6, then you should use IE.
And so on, depending on the call flow.

Regarding the address parameter, that is used when you want to overwrite
the address indicated by RTPProxy. This is used mainly for setups where
RTPProxy is behind NAT and the address inidcated is the private one. You
should swap this IP with the public advertised one.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/08/2016 09:51 PM, Robert Dyck wrote:

Thank you

Assuming rtpproxy was started with IPV4 as the first address and IPV6 as
the second, then in the NAT scenario, are the II flags mandatory in
offer/answer?

Slightly off topic, what sort of scenario would require the address
parameter for offer/answer?

On November 8, 2016 09:57:30 AM Răzvan Crainea wrote:

Hi, Robert!

See my answers inline.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/08/2016 02:15 AM, Robert Dyck wrote:

I have some question regarding rtpproxy capabilities in relation to
IPV4-IPV6 interworking.

The articles I have read say that you need to assign an address from
each
address family to rtpproxy. They go on to say that rtpproxy will then be
in
bridged mode. Others define bridge mode as assigning two interfaces to
rtpproxy.

As long as you have RTPProxy listening on two IPs, you have it set in
bridge mode. It doesn't matther whether one of them is IPv6, or both are.


If the IPV4 and IPV6 addresses are on the same interface, is the
rtpproxy
indeed in bridged mode? Should one avoid the use of engage_rtpproxy?

Yes, as stated above, RTPProxy is in bridged mode and you should avoid
using engage_rtpproxy(). That's because the function can't know/decide
which interface is which and cannot map with the RTPProxy's one.


Assuming that IPV4- IPV6 interworking is actually possible using
opensips
and rtpproxy, does that mean that an instance of rtpproxy is not
available to enable NAT traversal - would NAT traversal require using
another instance of rtpproxy using a single IPV4 address?

No, you don't need an extra instance - a single instance will do both
bridging and nat traversal.


Furthermore is the multihome parameter relevant to IPV4-IPV6
interworking
if opensips only listens on one interface?

The multihome parameter is only relevant for OpenSIPS, it doesn't
influence RTPProxy's behavior at all.

___
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] How to make OpenSIPS send SIP BYE, by configuration, , before dialog timout?

2016-11-09 Thread Rodrigo Pimenta Carvalho

Hi. Răzvan.

Thanks to your support, I have found the issue, after some weeks of tests! Now 
I need to discover how to fix it or a workaround.

The problem is:


Peer A and peer B is connected to the OpenSIPS (OpenSIPS is behind a NAT with 
public IP = 111.111.240.71). A is in the same hardware as OpenSIPs and B is in 
another machine. So, OpenSIPs has:

Connection A ::  ID=1 Type=tcp State=0 Source=127.0.0.1:32908 
Destination=127.0.0.1:5060 Lifetime=1970-01-02 05:26:31
Connection B ::  ID=2 Type=tcp State=0 Source=111.111.240.71:55229 
Destination=192.168.0.101:5060 Lifetime=1970-01-02 05:29:50

When A calls B, the 'contact' in SIP INVITE has Source=127.0.0.1:3290.
When B answers with SIP OK, A sends a SIP UPDATE. This UPDATE has a 'contact' 
with a new value: Source=111.111.240.71:57186. So, OpenSIPS has:

Connection A'::  ID=1 Type=tcp State=0 Source=127.0.0.1:32908 
Destination=127.0.0.1:5060 Lifetime=1970-01-02 05:33:43
Connection B::  ID=2 Type=tcp State=0 Source=111.111.240.71:55229 
Destination=192.168.0.101:5060 Lifetime=1970-01-02 05:29:51
Connection A"::  ID=3 Type=tcp State=0 Source=111.111.240.71:57186 
Destination=192.168.0.101:5060 Lifetime=1970-01-02 05:29:51 (new socket to A)

However, the new socket between A and OpenSIPS expires in 30 seconds.
Then, when B sends SIP BYE, OpenSIPS tries to forward such SIP message to 
Source=111.111.240.71:57186, which is expired.

Peer A and B use ICE.
I would like to fix this issue by means of the OpenSIPS script, to avoid 
changing the client's code.
Could you suggest me some idea?

Any hint will be very helpful!
Best regards.

P.S.: I'm using validate_dialog, but not fix_route_dialog() yet. Could this las 
function be the solution?



RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979



De: users-boun...@lists.opensips.org  em nome 
de Răzvan Crainea 
Enviado: quarta-feira, 9 de novembro de 2016 08:29
Para: users@lists.opensips.org
Assunto: Re: [OpenSIPS-Users] How to make OpenSIPS send SIP BYE, by 
configuration, , before dialog timout?

Hi, Rodrigo!

The only HACK that I can think of is when you get the BYE message, set the 
dialog timeout to 0, match it against the dialog, and then drop the message. 
OpenSIPS will behave as if the dialog expired in that moment.

However, you seem to have a flow logic - most likely the Contact header in the 
BYE is not correct. Could you send  us a trace to help you figure out what the 
problem is? Also, did you try to validate the message against the dialog[1] and 
fix it accordingly[2]?

[1] http://www.opensips.org/html/docs/modules/2.2.x/dialog#id295894
[2] http://www.opensips.org/html/docs/modules/2.2.x/dialog#id295982

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

Home — OpenSIPS Solutions
www.opensips-solutions.com
OpenSIPS is a mature Open Source implementation of a SIP server. OpenSIPS is 
more than a SIP proxy/router as it includes application-level functionalities.

On 11/08/2016 10:07 PM, Rodrigo Pimenta Carvalho wrote:

Hi.


Dialogs in my OpenSIPS is programmed to finish after 60 seconds. (timeout = 1 
minute).

So, when 2 peers are in a dialog, OpenSIPS sends SIP BYE to both peers, 
automatically after 60 seconds.


Is it possible to make OpenSIPS send this exact kind of SIP BYE to both peers, 
before the dialog timeout? I mean, in a configured way (opensips.cfg)?


When OpenSISP sends SIP BYE automatically, both peers receive the SIP BYE 
correctly.

However, when a peer sends SIP BYE, it reaches the OpenSIPS, but OpenSIPS is 
unable to forward this SIP BYE. Due to some unknown reason, in this moment 
there is no open socket to communicate with such peer. That is why I would like 
to make OpenSIPS send 'its own' SIP BYE, and see if such idea will simulate a 
normal situation, until I discover why there is a socket problem.


Any hint will be very helpful!


Best regards.


RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979



___
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] CACHEDB_MEMCACHED Module - libmemcached undefined symbol issue

2016-11-09 Thread Maciej Bylica
Hello

I am struggling with memcached installation with the latest git opensips
2.2.2 and centos 6.8
Here are version releases i am using:
libmemcached-1.0.18 (./configure, make && make install)
memcached-1.4.33 (./configure, make && make install)
with LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

memcached -d -u nobody -m 1048 -p  127.0.0.1
does not produce any error

but what is really puzzling me during the opensips start is the error below:
DBG:core:load_module: loading module
/usr/local/lib64/opensips/modules/cachedb_memcached.so
ERROR:core:sr_load_module: could not open module
:
/usr/local/lib/libmemcached.so.11: undefined symbol: pthread_once

Can someone please guide me how to put memcached up and running ?
Opensips is compiled with cachedb_memcached module.

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


Re: [OpenSIPS-Users] Migrating form 1.11.5 to 1.11.9

2016-11-09 Thread Alain Bieuzent
Hi Răzvan, 

 

I will test that, many thanks

 

Regards

 

De :  au nom de Răzvan Crainea 

Répondre à : OpenSIPS users mailling list 
Date : mercredi 9 novembre 2016 à 16:39
À : 
Objet : Re: [OpenSIPS-Users] Migrating form 1.11.5 to 1.11.9

 

Hi, Alain!

Somewhere between 1.11.5 and 1.11.9 we figured out a problem related to mysql 
queries: if your database entry is NULL, we can't just simply set a NULL value 
to an AVP, because that just deletes the previous value. So you end up in a 
very inconsistent state. That's why we decided to set the value "" to all 
the fields that are NULL in the database (this token is used in serveral other 
scenarios, that's why we picked this name).

Therefore, in order to properly test if a column is provisioned NULL in the 
database is:
if ($avp(redirect) != "") {
}

Let us know how this goes.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 11/09/2016 05:06 PM, Alain Bieuzent wrote:

Hi All,

 

I’m trying to migrate form 1.11.5 to 1.11.9 and i have a problem to test the 
value of a mysql query when the reseult is null.

 

In 1.11.5 this test « if (!$avp(redirect) == NULL) » works, but doesn’t work in 
1.11.9.

 

Is there a change in code ?

What is the corect way to test a null value from avp ?

 

Regards

 

Alain.




___
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] Pickup group help

2016-11-09 Thread Bogdan-Andrei Iancu

Hi,

You mean parallel calling groups, where a call to the group is sent to 
all the parties of the group (simultaneous ringing) and first to answer 
will pick up the call ? if so , this is parallel forking.


Best regards,

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

On 08.11.2016 16:02, Schneur Rosenberg wrote:
Can someone please guide me how I should build pickup groups feature 
in OpenSIPS?


thank you
S. Rosenberg


___
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] Migrating form 1.11.5 to 1.11.9

2016-11-09 Thread Răzvan Crainea

Hi, Alain!

Somewhere between 1.11.5 and 1.11.9 we figured out a problem related to 
mysql queries: if your database entry is NULL, we can't just simply set 
a NULL value to an AVP, because that just deletes the previous value. So 
you end up in a very inconsistent state. That's why we decided to set 
the value "" to all the fields that are NULL in the database (this 
token is used in serveral other scenarios, that's why we picked this name).


Therefore, in order to properly test if a column is provisioned NULL in 
the database is:

if ($avp(redirect) != "") {
}

Let us know how this goes.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/09/2016 05:06 PM, Alain Bieuzent wrote:


Hi All,

I’m trying to migrate form 1.11.5 to 1.11.9 and i have a problem to 
test the value of a mysql query when the reseult is null.


In 1.11.5 this test « if (!$avp(redirect) == NULL) » works, but 
doesn’t work in 1.11.9.


Is there a change in code ?

What is the corect way to test a null value from avp ?

Regards

Alain.



___
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] Migrating form 1.11.5 to 1.11.9

2016-11-09 Thread Bogdan-Andrei Iancu

Hi Alain,

yes, it was a fix in avp_db_query() - if you query for multiple columns 
in a row, and if one of these columns returns NULL, it will not be 
reported as empty AVP , but as an AVP holding "" value :

https://github.com/OpenSIPS/opensips/commit/e1257269bcc30df56dd9b6bc90a243c5839d5922

Is was a must to properly handle multi row results with multiple columns.

Best regards,

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

On 09.11.2016 17:06, Alain Bieuzent wrote:


Hi All,

I’m trying to migrate form 1.11.5 to 1.11.9 and i have a problem to 
test the value of a mysql query when the reseult is null.


In 1.11.5 this test « if (!$avp(redirect) == NULL) » works, but 
doesn’t work in 1.11.9.


Is there a change in code ?

What is the corect way to test a null value from avp ?

Regards

Alain.



___
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] Migrating form 1.11.5 to 1.11.9

2016-11-09 Thread Alain Bieuzent
Hi All,

 

I’m trying to migrate form 1.11.5 to 1.11.9 and i have a problem to test the 
value of a mysql query when the reseult is null.

 

In 1.11.5 this test « if (!$avp(redirect) == NULL) » works, but doesn’t work in 
1.11.9.

 

Is there a change in code ?

What is the corect way to test a null value from avp ?

 

Regards

 

Alain.

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


Re: [OpenSIPS-Users] How to make OpenSIPS send SIP BYE, by configuration, , before dialog timout?

2016-11-09 Thread Răzvan Crainea

Hi, Rodrigo!

The only HACK that I can think of is when you get the BYE message, set 
the dialog timeout to 0, match it against the dialog, and then drop the 
message. OpenSIPS will behave as if the dialog expired in that moment.


However, you seem to have a flow logic - most likely the Contact header 
in the BYE is not correct. Could you send  us a trace to help you figure 
out what the problem is? Also, did you try to validate the message 
against the dialog[1] and fix it accordingly[2]?


[1] http://www.opensips.org/html/docs/modules/2.2.x/dialog#id295894
[2] http://www.opensips.org/html/docs/modules/2.2.x/dialog#id295982

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/08/2016 10:07 PM, Rodrigo Pimenta Carvalho wrote:


Hi.


Dialogs in my OpenSIPS is programmed to finish after 60 seconds. 
(timeout = 1 minute).


So, when 2 peers are in a dialog, OpenSIPS sends SIP BYE to both 
peers, automatically after 60 seconds.



Is it possible to make OpenSIPS send this exact kind of SIP BYE to 
both peers, before the dialog timeout? I mean, in a configured way 
(opensips.cfg)?



When OpenSISP sends SIP BYE automatically, both peers receive the SIP 
BYE correctly.


However, when a peer sends SIP BYE, it reaches the OpenSIPS, but 
OpenSIPS is unable to forward this SIP BYE. Due to some unknown 
reason, in this moment there is no open socket to communicate with 
such peer. That is why I would like to make OpenSIPS send 'its own' 
SIP BYE, and see if such idea will simulate a normal situation, until 
I discover why there is a socket problem.



Any hint will be very helpful!


Best regards.


RODRIGO PIMENTA CARVALHO
Inatel Competence Center
Software
Ph: +55 35 3471 9200 RAMAL 979


___
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] Rtpproxy and IPV4 IPV6 interworking

2016-11-09 Thread Răzvan Crainea

Hi, Robert!

Yes, the I and E parameters are mandatory, and they should describe how 
the RTP will flow. For example if the flow is from IPv4 to IPv6, you 
should use EI; if the flow is from IPv4 to IPv6, then you should use IE. 
And so on, depending on the call flow.


Regarding the address parameter, that is used when you want to overwrite 
the address indicated by RTPProxy. This is used mainly for setups where 
RTPProxy is behind NAT and the address inidcated is the private one. You 
should swap this IP with the public advertised one.


Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/08/2016 09:51 PM, Robert Dyck wrote:

Thank you

Assuming rtpproxy was started with IPV4 as the first address and IPV6 as the
second, then in the NAT scenario, are the II flags mandatory in offer/answer?

Slightly off topic, what sort of scenario would require the address parameter
for offer/answer?

On November 8, 2016 09:57:30 AM Răzvan Crainea wrote:

Hi, Robert!

See my answers inline.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/08/2016 02:15 AM, Robert Dyck wrote:

I have some question regarding rtpproxy capabilities in relation to
IPV4-IPV6 interworking.

The articles I have read say that you need to assign an address from each
address family to rtpproxy. They go on to say that rtpproxy will then be
in
bridged mode. Others define bridge mode as assigning two interfaces to
rtpproxy.

As long as you have RTPProxy listening on two IPs, you have it set in
bridge mode. It doesn't matther whether one of them is IPv6, or both are.


If the IPV4 and IPV6 addresses are on the same interface, is the rtpproxy
indeed in bridged mode? Should one avoid the use of engage_rtpproxy?

Yes, as stated above, RTPProxy is in bridged mode and you should avoid
using engage_rtpproxy(). That's because the function can't know/decide
which interface is which and cannot map with the RTPProxy's one.


Assuming that IPV4- IPV6 interworking is actually possible using opensips
and rtpproxy, does that mean that an instance of rtpproxy is not
available to enable NAT traversal - would NAT traversal require using
another instance of rtpproxy using a single IPV4 address?

No, you don't need an extra instance - a single instance will do both
bridging and nat traversal.


Furthermore is the multihome parameter relevant to IPV4-IPV6 interworking
if opensips only listens on one interface?

The multihome parameter is only relevant for OpenSIPS, it doesn't
influence RTPProxy's behavior at all.

___
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