Re: [OpenSIPS-Users] Problem Contact URI

2010-12-28 Thread Bogdan-Andrei Iancu

Lionel Sicilia wrote:

The 'Warning' header does not report an error it just provides debugging
information from inside opensips - you can turn it on/off with the
sip_warning core parameter:
   http://www.opensips.org/Resources/DocsCoreFcn16#toc68


Now, about the error in the pjsip stack - it reports line 7 (assuming
from the entire message), which is:
  Contact: sip:7...@192.168.2.84:11065:18196;expires=209,
sip:7...@190.178.217.168:18209;expires=300
most probably because of the double port in the first contact entry.

So, you need to look for the part where you are saving contacts in user
location - save(location) - here, do you do any processing of the SIP
contact, before the actual save, like fix_nated_contact() or
fix_nated_register() ?

Regards,
Bogdan




Thank you for your significant responses, sip_warning parameter was
already set with the value yes now changed to 1. But the log still
shows the debug to send in the mail earlier.

debug=9
log_stderror=no
log_facility=LOG_LOCAL0
fork=yes
children=4

sip_warning=1
  


yes or 1 values are the same. To disable it set it to no or 0.



On the other hand I've tried to fix_nated_register () and others, the
code below just before save location.  Unfortunately this did not
fix the problem of generating in the contact uri multiple ports.


if (is_method(REGISTER))
{

   fix_nated_register();
   fix_nated_contact();
   fix_contact();

# authenticate the REGISTER requests (uncomment to enable auth)
##if (!www_authorize(, subscriber))
##{
##  www_challenge(, 0);
##  exit;
##}
##
##if (!db_check_to())
##{
##  sl_send_reply(403,Forbidden auth ID);
##  exit;
##}

if (!save(location))
sl_reply_error();

exit;
}
  


Use only fix_nated_register() for REGISTER requests. After the change, 
be sure you discard all bogus records from your user location (stop 
opensips, purge location table, start opensips).


Regards,
Bogdan




Regards,

  



--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] RTPProxy timeout notifications

2010-12-28 Thread Bogdan-Andrei Iancu

Hi Denis,

Silly question, but have you applied to the official RTPproxy the 
patches that comes with the nathelper module ?


Regards,
Bogdan

Denis Putyato wrote:


Hello!

During tests of new feature in rtpproxy I received such problem:

“Dec 27 11:42:42 opensips 
/usr/local/opensips1.6.4/sbin/opensips[26496]: 
DBG:nathelper:timeout_listener_process: unknown rtpproxy – ignoring”


And log for rtpproxy

“Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
session 6fe1-00bf-8e08-8065-0002a405c...@172.31.255.250, tag 
6f008e65a4;1 requested, type strong


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
session on a port 64922 created, tag 6f008e65a4;1


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: setting 
timeout handler


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: 
pre-filling caller's address with 3.3.3.3:23066


Dec 28 07:43:37 opensips 
/usr/local/opensips1.6.4/sbin/opensips[28196]: 
ERROR:nathelper:force_rtp_proxy: Unable to parse body


Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: lookup 
on ports 64922/4, session timer restarted


Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: 
pre-filling callee's address with 2.2.2.2:18408


Dec 28 07:43:39 opensips rtpproxy[28223]: INFO:handle_command: lookup 
on ports 64922/4, session timer restarted


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:process_rtp: session 
timeout


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTP 
stats: 1449 in from callee, 421 in from caller, 1870 relayed, 0 dropped


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTCP 
stats: 7 in from callee, 2 in from caller, 9 relayed, 0 dropped


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: session 
on ports 64922/4 is cleaned up


Dec 28 07:44:07 opensips rtpproxy[28223]: ERR:do_timeout_notification: 
failed to send timeout notification: Broken pipe”


Opensips 1.6.4

Latest rtpproxy from git with patch for RTPProxy timeout notifications

The start string of rtpproxy:

/usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s 
unix:/var/run/rtpproxy.sock -F -i -n tcp:1.1.1.1:2 -T 20 -W 60


Opensips.cfg:

…

…

modparam(nathelper, rtpproxy_sock, /var/run/rtpproxy.sock)

modparam(nathelper, rtpp_notify_socket, tcp:1.1.1.1:2)

…

…

rtpproxy_offer(con);

….

rtpproxy_answer(con);

…

During voice session everything fine (bidirectional voice flow). Then 
I emulate LAN problem and after 20 s expire I received such message. 
Call is still active.


Thank you for any help.



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



--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] RTPProxy timeout notifications

2010-12-28 Thread Denis Putyato
Hello Bogdan!

1) There is no patch in official release of Opensips 1.6.4 which I can download 
from web site (source tar). There is a patch only in SVN version of Opensips 
1.6.4
2) The patch which I can use from SVN version I can apply only to rtpproxy from 
git. If I use rtpproxy from web site I cannot apply patch to it (there are some 
errors during process of patch).

In my case I use rtpproxy from git with applied patch from SVN version of 
Opensips (when I start rtpproxy I use such command 
/usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s unix:/var/run/rtpproxy.sock -F 
-i -n tcp:1.1.1.1:2 -T 20 -W 60. As I understand without patch -W doesn`t 
work) and official release of Openspis 1.6.4 which I downloaded from web site 
(not from SVN)   

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
Sent: Tuesday, December 28, 2010 1:31 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] RTPProxy timeout notifications

Hi Denis,

Silly question, but have you applied to the official RTPproxy the 
patches that comes with the nathelper module ?

Regards,
Bogdan

Denis Putyato wrote:

 Hello!

 During tests of new feature in rtpproxy I received such problem:

 “Dec 27 11:42:42 opensips 
 /usr/local/opensips1.6.4/sbin/opensips[26496]: 
 DBG:nathelper:timeout_listener_process: unknown rtpproxy – ignoring”

 And log for rtpproxy

 “Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
 session 6fe1-00bf-8e08-8065-0002a405c...@172.31.255.250, tag 
 6f008e65a4;1 requested, type strong

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
 session on a port 64922 created, tag 6f008e65a4;1

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: setting 
 timeout handler

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: 
 pre-filling caller's address with 3.3.3.3:23066

 Dec 28 07:43:37 opensips 
 /usr/local/opensips1.6.4/sbin/opensips[28196]: 
 ERROR:nathelper:force_rtp_proxy: Unable to parse body

 Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: lookup 
 on ports 64922/4, session timer restarted

 Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: 
 pre-filling callee's address with 2.2.2.2:18408

 Dec 28 07:43:39 opensips rtpproxy[28223]: INFO:handle_command: lookup 
 on ports 64922/4, session timer restarted

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:process_rtp: session 
 timeout

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTP 
 stats: 1449 in from callee, 421 in from caller, 1870 relayed, 0 dropped

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTCP 
 stats: 7 in from callee, 2 in from caller, 9 relayed, 0 dropped

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: session 
 on ports 64922/4 is cleaned up

 Dec 28 07:44:07 opensips rtpproxy[28223]: ERR:do_timeout_notification: 
 failed to send timeout notification: Broken pipe”

 Opensips 1.6.4

 Latest rtpproxy from git with patch for RTPProxy timeout notifications

 The start string of rtpproxy:

 /usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s 
 unix:/var/run/rtpproxy.sock -F -i -n tcp:1.1.1.1:2 -T 20 -W 60

 Opensips.cfg:

 …

 …

 modparam(nathelper, rtpproxy_sock, /var/run/rtpproxy.sock)

 modparam(nathelper, rtpp_notify_socket, tcp:1.1.1.1:2)

 …

 …

 rtpproxy_offer(con);

 ….

 rtpproxy_answer(con);

 …

 During voice session everything fine (bidirectional voice flow). Then 
 I emulate LAN problem and after 20 s expire I received such message. 
 Call is still active.

 Thank you for any help.

 

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


-- 
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


___
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 HA resource script (for Heartbeat)

2010-12-28 Thread Iñaki Baz Castillo
2010/12/28 Alexandr A. Alexandrov shurr...@gmail.com:
 Hi, All.

 This is an issue of writing a correct script, nothing more. :-)
 There are several possibilities, strating from simple process lookup (like
 pgrep -f opensips), ending using MI from such a script.

No, this is a bug in opensips itself since, when running daemonized,
the process returns 0 even if the daemonized (main) process fails to
start (due to any module configuration error).

Any exotic check you add after executing the binary is just a
workaround. Any service/daemon MUST return an accurate exit status
code, so other applications (i.e. HA) can rely on such a value.


 This makes OpenSIPS not valid for full HA environment, so be careful.

 I will make my opensips valid

Can I ask how? Imagine you dbaliases module access to a different
database, and such database server is protected with iptables
dropping any incoming TCP connection.

You run opensips and the module dbaliases tries to establish the
connection with the BD server. It could take LONG time until it raises
a timeout error (maybe minutes). After such time the main process
dies, but before such moment the main process was still running. If
your valid init/LSB/OCF script checks the process status 5 seconds
after calling the binay, it would return SUCCESS status (while in
fact, opensips will die soon). No perfect workaround here. The daemon
itself MUST return a real and accurate code.



NOTE: A way to improve it (in OpenSIPS code):

When invoking opensips, the parent process opens a PIPE for reading,
and the daemonized process open it for writting. The parent process
waits until the daemonized process writes into the PIPE (it writes its
status which is the status code returned by the parent process). This
is already implemented in Kamailio/SIP-router.


Regards.



-- 
Iñaki Baz Castillo
i...@aliax.net

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


Re: [OpenSIPS-Users] Problem Contact URI

2010-12-28 Thread Lionel Sicilia
 Use only fix_nated_register() for REGISTER requests. After the change,
 be sure you discard all bogus records from your user location (stop
 opensips, purge location table, start opensips).

 Regards,
 Bogdan



 Regards,



Test the setup, but I had no success, although fix_nated_register ()
seems to work correctly, I see this in the amount of $avp(i:42),
but in the contacttable location  The port is duplicate.

What can be causing this problem?



TABLE LOCATION
--

id  usernamedomain  contact 
receivedpathexpires q   
11  7020
sip:7...@190.178.192.68:13262:13262;transport=UDP   
28-dic-2010 11:14:48-1


callid  cseqlast_modified   flags   
cflags  user_agent  socket  methods
73a077f520f4410999ec7f964d4828fc18512   28-dic-2010
11:09:480   0   n/a udp:192.168.2.21:5060

LOG OPENSIPS
--

Dec 28 10:44:14 jerif opensips[1397]: DBG:registrar:build_contact:
created Contact HF: Contact:
sip:7...@190.178.192.68:12344:12344;transport=UDP;expires=181,
sip:7...@192.168.2.84:11675;expires=200,
sip:7...@192.168.2.84:13100;expires=220,
sip:7...@192.168.2.84:16838;expires=263,
sip:7...@190.178.192.68:12534;expires=300^M


SET opensips.cfg



loadmodule nathelper.so
modparam(nathelper, received_avp, $avp(i:42))

..
..


if (is_method(REGISTER))
{
fix_nated_register();
xlog(...RESULT FIX_NATED_REGISTER - $avp(i:42));

# authenticate the REGISTER requests (uncomment to enable auth)
if (!www_authorize(, subscriber))
{
www_challenge(, 0);
exit;
}

if (!db_check_to())
{
sl_send_reply(403,Forbidden auth ID);
exit;
}

if (!save(location))
sl_reply_error();
exit;
}
}




Regards,
-- 
Lionel Sicilia.
CTO - Aplay S.A.

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


Re: [OpenSIPS-Users] Problem Contact URI

2010-12-28 Thread Bogdan-Andrei Iancu

Lionel Sicilia wrote:

Use only fix_nated_register() for REGISTER requests. After the change,
be sure you discard all bogus records from your user location (stop
opensips, purge location table, start opensips).

Regards,
Bogdan




Regards,

  



Test the setup, but I had no success, although fix_nated_register ()
seems to work correctly, I see this in the amount of $avp(i:42),
but in the contacttable location  The port is duplicate.

What can be causing this problem?

  

Check that:

1) you are not receiving (in REGISTER) an already bogus contact (with 2 
ports)


2) you are not doing by mistake another fix_nated_contact in other parts 
of the script (not REGISTER related blocks, maybe)





TABLE LOCATION
--

id  usernamedomain  contact 
receivedpathexpires q   
11  7020
sip:7...@190.178.192.68:13262:13262;transport=UDP   
28-dic-2010 11:14:48-1


callid  cseqlast_modified   flags   
cflags  user_agent  socket  methods
73a077f520f4410999ec7f964d4828fc18512   28-dic-2010
11:09:480   0   n/a udp:192.168.2.21:5060
  


Something is wrong here. Normally, if using only fix_nated_register(), 
you should have:

   - private contact (as received in REGISTER) in contact column
   - public NAT ip (src of REGISTER) in received column

I your case you have only a contact value which is public :-/.It 
looks like your fix_nated_register() has no effect, but a 
fix_nated_contact() does (maybe in other parts of the script).


(see below)


LOG OPENSIPS
--

Dec 28 10:44:14 jerif opensips[1397]: DBG:registrar:build_contact:
created Contact HF: Contact:
sip:7...@190.178.192.68:12344:12344;transport=UDP;expires=181,
sip:7...@192.168.2.84:11675;expires=200,
sip:7...@192.168.2.84:13100;expires=220,
sip:7...@192.168.2.84:16838;expires=263,
sip:7...@190.178.192.68:12534;expires=300^M


SET opensips.cfg



loadmodule nathelper.so
modparam(nathelper, received_avp, $avp(i:42))
  


Also add here

modparam(registrar, received_avp, $avp(i:42))  







..
..


if (is_method(REGISTER))
{
fix_nated_register();
xlog(...RESULT FIX_NATED_REGISTER - $avp(i:42));

# authenticate the REGISTER requests (uncomment to enable auth)
if (!www_authorize(, subscriber))
{
www_challenge(, 0);
exit;
}

if (!db_check_to())
{
sl_send_reply(403,Forbidden auth ID);
exit;
}

if (!save(location))
sl_reply_error();
exit;
}
}

  


and be 100% sure you do not call any other fix_nated_contact() like 
functions for this REGISTER (maybe in some other scripting block, before 
register processing).


Regards,
Bogdan


--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Bogdan-Andrei Iancu

Hi Iñaki,

Iñaki Baz Castillo wrote:

2010/12/28 Alexandr A. Alexandrov shurr...@gmail.com:
  

Hi, All.

This is an issue of writing a correct script, nothing more. :-)
There are several possibilities, strating from simple process lookup (like
pgrep -f opensips), ending using MI from such a script.



No, this is a bug in opensips itself since, when running daemonized,
the process returns 0 even if the daemonized (main) process fails to
start (due to any module configuration error).

Any exotic check you add after executing the binary is just a
workaround. Any service/daemon MUST return an accurate exit status
code, so other applications (i.e. HA) can rely on such a value.

  
You may call it a design bug - the current return code reflects only the 
pre-daemonize init without including the child init for example.


To be honest, so far I succesfully used the pid file info to check if my 
opensips properly started or not - but maybe this kind of test is not 
suitable in all the cases.


  

This makes OpenSIPS not valid for full HA environment, so be careful.
  

I will make my opensips valid



Can I ask how? Imagine you dbaliases module access to a different
database, and such database server is protected with iptables
dropping any incoming TCP connection.

You run opensips and the module dbaliases tries to establish the
connection with the BD server. It could take LONG time until it raises
a timeout error (maybe minutes). After such time the main process
dies, but before such moment the main process was still running. If
your valid init/LSB/OCF script checks the process status 5 seconds
after calling the binay, it would return SUCCESS status (while in
fact, opensips will die soon). No perfect workaround here. The daemon
itself MUST return a real and accurate code.


  
I'm not 100% convinced that this change will totally fix the problem - 
even if we make the initial process to report a correct and relevant 
return code, what will happen if this will happen if this return code 
comes after minutes, following some DNS/DB queries done by module init 
functions ? Is it still useful to have the return code after 2 minutes ?



NOTE: A way to improve it (in OpenSIPS code):

When invoking opensips, the parent process opens a PIPE for reading,
and the daemonized process open it for writting. The parent process
waits until the daemonized process writes into the PIPE (it writes its
status which is the status code returned by the parent process). This
is already implemented in Kamailio/SIP-router.
  


As far as I understand this will partially fix the problem, by 
addressing the errors reported by module init functions. The errors 
generated by the child init functions will not be caught by the parent 
process, so more or less we are back to square one :)...there is a need 
for something more extensive, to get reporting from all opensips 
processes (daemonize, worker processes, timer, aux procs)...


Regards,
Bogdan


--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] RTPProxy timeout notifications

2010-12-28 Thread Bogdan-Andrei Iancu

Hi Denis,


Denis Putyato wrote:

Hello Bogdan!

1) There is no patch in official release of Opensips 1.6.4 which I can download 
from web site (source tar). There is a patch only in SVN version of Opensips 
1.6.4
  

Hmm..that's a packaging bug :(I will take care of this.

2) The patch which I can use from SVN version I can apply only to rtpproxy from 
git. If I use rtpproxy from web site I cannot apply patch to it (there are some 
errors during process of patch).
  
I will ask Razvan (the author of this work) to see if the patch can be 
ported to official rtpproxy release too (not as coding, but as 
functionality).
In my case I use rtpproxy from git with applied patch from SVN version of Opensips (when I start rtpproxy I use such command /usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s unix:/var/run/rtpproxy.sock -F -i -n tcp:1.1.1.1:2 -T 20 -W 60. As I understand without patch -W doesn`t work) and official release of Openspis 1.6.4 which I downloaded from web site (not from SVN)   
  

And this works ?

Regards,
Bogdan


-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
Sent: Tuesday, December 28, 2010 1:31 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] RTPProxy timeout notifications

Hi Denis,

Silly question, but have you applied to the official RTPproxy the 
patches that comes with the nathelper module ?


Regards,
Bogdan

Denis Putyato wrote:
  

Hello!

During tests of new feature in rtpproxy I received such problem:

“Dec 27 11:42:42 opensips 
/usr/local/opensips1.6.4/sbin/opensips[26496]: 
DBG:nathelper:timeout_listener_process: unknown rtpproxy – ignoring”


And log for rtpproxy

“Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
session 6fe1-00bf-8e08-8065-0002a405c...@172.31.255.250, tag 
6f008e65a4;1 requested, type strong


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
session on a port 64922 created, tag 6f008e65a4;1


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: setting 
timeout handler


Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: 
pre-filling caller's address with 3.3.3.3:23066


Dec 28 07:43:37 opensips 
/usr/local/opensips1.6.4/sbin/opensips[28196]: 
ERROR:nathelper:force_rtp_proxy: Unable to parse body


Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: lookup 
on ports 64922/4, session timer restarted


Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: 
pre-filling callee's address with 2.2.2.2:18408


Dec 28 07:43:39 opensips rtpproxy[28223]: INFO:handle_command: lookup 
on ports 64922/4, session timer restarted


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:process_rtp: session 
timeout


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTP 
stats: 1449 in from callee, 421 in from caller, 1870 relayed, 0 dropped


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTCP 
stats: 7 in from callee, 2 in from caller, 9 relayed, 0 dropped


Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: session 
on ports 64922/4 is cleaned up


Dec 28 07:44:07 opensips rtpproxy[28223]: ERR:do_timeout_notification: 
failed to send timeout notification: Broken pipe”


Opensips 1.6.4

Latest rtpproxy from git with patch for RTPProxy timeout notifications

The start string of rtpproxy:

/usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s 
unix:/var/run/rtpproxy.sock -F -i -n tcp:1.1.1.1:2 -T 20 -W 60


Opensips.cfg:

…

…

modparam(nathelper, rtpproxy_sock, /var/run/rtpproxy.sock)

modparam(nathelper, rtpp_notify_socket, tcp:1.1.1.1:2)

…

…

rtpproxy_offer(con);

….

rtpproxy_answer(con);

…

During voice session everything fine (bidirectional voice flow). Then 
I emulate LAN problem and after 20 s expire I received such message. 
Call is still active.


Thank you for any help.



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




  



--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] RTPProxy timeout notifications

2010-12-28 Thread Denis Putyato
Hello Bogdan

RTP Proxy is working but timeout notification does not.
There is error /usr/local/opensips1.6.4/sbin/opensips[26496]: 
 DBG:nathelper:timeout_listener_process: unknown rtpproxy – ignoring 

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
Sent: Tuesday, December 28, 2010 5:49 PM
To: OpenSIPS users mailling list; Razvan Crainea
Subject: Re: [OpenSIPS-Users] RTPProxy timeout notifications

Hi Denis,


Denis Putyato wrote:
 Hello Bogdan!

 1) There is no patch in official release of Opensips 1.6.4 which I can 
 download from web site (source tar). There is a patch only in SVN version of 
 Opensips 1.6.4
   
Hmm..that's a packaging bug :(I will take care of this.
 2) The patch which I can use from SVN version I can apply only to rtpproxy 
 from git. If I use rtpproxy from web site I cannot apply patch to it (there 
 are some errors during process of patch).
   
I will ask Razvan (the author of this work) to see if the patch can be 
ported to official rtpproxy release too (not as coding, but as 
functionality).
 In my case I use rtpproxy from git with applied patch from SVN version of 
 Opensips (when I start rtpproxy I use such command 
 /usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s unix:/var/run/rtpproxy.sock 
 -F -i -n tcp:1.1.1.1:2 -T 20 -W 60. As I understand without patch -W 
 doesn`t work) and official release of Openspis 1.6.4 which I downloaded from 
 web site (not from SVN)   
   
And this works ?

Regards,
Bogdan

 -Original Message-
 From: users-boun...@lists.opensips.org 
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
 Sent: Tuesday, December 28, 2010 1:31 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] RTPProxy timeout notifications

 Hi Denis,

 Silly question, but have you applied to the official RTPproxy the 
 patches that comes with the nathelper module ?

 Regards,
 Bogdan

 Denis Putyato wrote:
   
 Hello!

 During tests of new feature in rtpproxy I received such problem:

 “Dec 27 11:42:42 opensips 
 /usr/local/opensips1.6.4/sbin/opensips[26496]: 
 DBG:nathelper:timeout_listener_process: unknown rtpproxy – ignoring”

 And log for rtpproxy

 “Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
 session 6fe1-00bf-8e08-8065-0002a405c...@172.31.255.250, tag 
 6f008e65a4;1 requested, type strong

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: new 
 session on a port 64922 created, tag 6f008e65a4;1

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: setting 
 timeout handler

 Dec 28 07:43:37 opensips rtpproxy[28223]: INFO:handle_command: 
 pre-filling caller's address with 3.3.3.3:23066

 Dec 28 07:43:37 opensips 
 /usr/local/opensips1.6.4/sbin/opensips[28196]: 
 ERROR:nathelper:force_rtp_proxy: Unable to parse body

 Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: lookup 
 on ports 64922/4, session timer restarted

 Dec 28 07:43:38 opensips rtpproxy[28223]: INFO:handle_command: 
 pre-filling callee's address with 2.2.2.2:18408

 Dec 28 07:43:39 opensips rtpproxy[28223]: INFO:handle_command: lookup 
 on ports 64922/4, session timer restarted

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:process_rtp: session 
 timeout

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTP 
 stats: 1449 in from callee, 421 in from caller, 1870 relayed, 0 dropped

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: RTCP 
 stats: 7 in from callee, 2 in from caller, 9 relayed, 0 dropped

 Dec 28 07:44:07 opensips rtpproxy[28223]: INFO:remove_session: session 
 on ports 64922/4 is cleaned up

 Dec 28 07:44:07 opensips rtpproxy[28223]: ERR:do_timeout_notification: 
 failed to send timeout notification: Broken pipe”

 Opensips 1.6.4

 Latest rtpproxy from git with patch for RTPProxy timeout notifications

 The start string of rtpproxy:

 /usr/local/rtpproxy/bin/rtpproxy -l 1.1.1.1 -s 
 unix:/var/run/rtpproxy.sock -F -i -n tcp:1.1.1.1:2 -T 20 -W 60

 Opensips.cfg:

 …

 …

 modparam(nathelper, rtpproxy_sock, /var/run/rtpproxy.sock)

 modparam(nathelper, rtpp_notify_socket, tcp:1.1.1.1:2)

 …

 …

 rtpproxy_offer(con);

 ….

 rtpproxy_answer(con);

 …

 During voice session everything fine (bidirectional voice flow). Then 
 I emulate LAN problem and after 20 s expire I received such message. 
 Call is still active.

 Thank you for any help.

 

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


   


-- 
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


___
Users mailing list
Users@lists.opensips.org

[OpenSIPS-Users] TCP Sockets Phones De-Register and then Quickly Re-Register.

2010-12-28 Thread David J.

I am noticing a strange behavior on the phones.

They are connecting over TCP; It seems like every 3 minutes they quickly 
lose registration and then re-register.


I am not sure if it is because the phone is sending a register every 3 
minutes and then opensips is closing the old socket and opening a new 
one or what?


I dont have that much experience using TCP or how do troubleshoot this 
problem.


Thanks.



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


[OpenSIPS-Users] OpenSipS 1.6 wont build with drouting module enabled

2010-12-28 Thread Dovid Bender
Hi,

When trying to compile OpenSipS 1.6 trunk if the module drouting is enabled it 
just dies after compiling module domainpolicy. Any idea what would cause this ?

Regards,

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


Re: [OpenSIPS-Users] OpenSipS 1.6 wont build with drouting module enabled

2010-12-28 Thread Sergio Gutierrez
Hello Dovid.

Could you provide more information, for example the compilation log?

Regards.

Sergio G.

On Tue, Dec 28, 2010 at 11:50 AM, Dovid Bender os-l...@dovid.net wrote:

  Hi,

 When trying to compile OpenSipS 1.6 trunk if the module drouting is enabled
 it just dies after compiling module domainpolicy. Any idea what would cause
 this ?

 Regards,

 Dovid

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




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


[OpenSIPS-Users] Opensips-mi-proxy error with xcap-diff

2010-12-28 Thread Duane Larson
I am getting the following error from Opensips-mi-proxy when it receives an
XMLRPC request from OpenXCAP


Dec 23 17:17:59 Proxy01 opensips-mi-proxy[1095]: Got XMLRPC request from
173.XXX.XXX.111: pua_publish (sip:9xx221x...@i
rock.com http://rock.com 3600 xcap-diff application/xcap-diff+xml . .
?xml version=1.0 encoding=UTF-8?
Dec 23 17:17:59 Proxy01 opensips-mi-proxy[1095]: xcap-diff
xmlns=urn:ietf:params:xml:ns:xcap-diff xcap-root=http:/
/xcap.ae.com/xcap-root http://xcap.ae.com/xcap-root
Dec 23 17:17:59 Proxy01 opensips-mi-proxy[1095]: document
new-etag=7a982bc95326868b3616893790f834ea sel=http://xca http://xca/
p.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
http://p.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml/http://p.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml%3E%22/

Dec 23 17:17:59 Proxy01 opensips-mi-proxy[1095]: /xcap-diff
Dec 23 17:17:59 Proxy01 opensips-mi-proxy[1095]: )
Dec 23 17:18:00 Proxy01 opensips-mi-proxy[1095]: Got XMLRPC request from
173.XXX.XXX.111: pua_publish (sip:9xx221x...@i
rock.com http://rock.com 3600 xcap-diff application/xcap-diff+xml . .
?xml version=1.0 encoding=UTF-8?
Dec 23 17:18:00 Proxy01 opensips-mi-proxy[1095]: xcap-diff
xmlns=urn:ietf:params:xml:ns:xcap-diff xcap-root=http:/
/xcap.ae.com/xcap-root http://xcap.ae.com/xcap-root
Dec 23 17:18:00 Proxy01 opensips-mi-proxy[1095]: document
new-etag=51a606b1b08d72c9314039dcf092eeff sel=http://xca http://xca/
p.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
http://p.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
previous-etag=7a982b
c95326868b3616893790f834ea/
Dec 23 17:18:00 Proxy01 opensips-mi-proxy[1095]: /xcap-diff
Dec 23 17:18:00 Proxy01 opensips-mi-proxy[1095]: )
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: error: Error while
processing command pua_publish (sip:9xx221x...@iro
ck.com http://ck.com 3600 xcap-diff application/xcap-diff+xml . . ?xml
version=1.0 encoding=UTF-8?
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: error: xcap-diff
xmlns=urn:ietf:params:xml:ns:xcap-diff xcap-root=
http://xcap.ae.com/xcap-root;
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: error: document
new-etag=7a982bc95326868b3616893790f834ea sel=htt
p://
xcap.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
http://xcap.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml/http://xcap.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml%3E%22/

Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: error: /xcap-diff
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: error: ): OpenSIPS command
did timeout
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: Exception rendering:
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: Traceback (most recent call
last):
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]:   File
/usr/lib/python2.6/dist-packages/twisted/internet/defer.py,
line 441, in _runCallbacks
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: self.result =
callback(self.result, *args, **kw)
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]:   File
/usr/lib/pymodules/python2.6/miproxy/proxy.py, line 88, in _
cbRender
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: code = int(code)
Dec 23 17:18:02 Proxy01 opensips-mi-proxy[1095]: ValueError: invalid literal
for int() with base 10: 'OpenSIPS'
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: error: Error while
processing command pua_publish (sip:9xx221x...@iro
ck.com http://ck.com 3600 xcap-diff application/xcap-diff+xml . . ?xml
version=1.0 encoding=UTF-8?
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: error: xcap-diff
xmlns=urn:ietf:params:xml:ns:xcap-diff xcap-root=
http://xcap.ae.com/xcap-root;
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: error: document
new-etag=51a606b1b08d72c9314039dcf092eeff sel=htt
p://
xcap.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
http://xcap.ae.com/xcap-root/resource-lists/users/9XX221XXX2/contacts-resource-list.xml
previous-etag=
7a982bc95326868b3616893790f834ea/
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: error: /xcap-diff
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: error: ): OpenSIPS command
did timeout
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: Exception rendering:
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: Traceback (most recent call
last):
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]:   File
/usr/lib/python2.6/dist-packages/twisted/internet/defer.py,
line 441, in _runCallbacks
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: self.result =
callback(self.result, *args, **kw)
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]:   File
/usr/lib/pymodules/python2.6/miproxy/proxy.py, line 88, in _
cbRender
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: code = int(code)
Dec 23 17:18:03 Proxy01 opensips-mi-proxy[1095]: ValueError: invalid literal
for int() with base 10: 

[OpenSIPS-Users] b2b refer scenario

2010-12-28 Thread Anton Zagorskiy
Hi.

I'm trying to use b2b refer scenario
http://www.opensips.org/Resources/B2buaTutorial#toc15
But I've got errors in the log:

*** route: REFER request, call B2B(refer)
DBG:core:parse_headers: flags=
DBG:b2b_logic:b2bl_insert_new: new tuple [0xb60c1238]-[468.0]
DBG:core:parse_headers: flags=
ERROR:b2b_entities:b2b_new_dlg: Called b2b_init on a Cancel message
ERROR:b2b_entities:server_new: failed to create new dialog structure entry
ERROR:b2b_logic:b2b_process_scenario_init: failed to create new b2b server
instance
DBG:b2b_logic:b2bl_delete: Delete record [0xb60c1238]-[468.0],
hash_index=[468], local_index=[0]
*** route: REFER request, B2B(refer) called, exit

I'm catching REFER in a loose_route section:

if (has_totag())
{
if (loose_route())
  {
if ( ($DLG_status != NULL)  (!validate_dialog()) )
{
xlog(*** !!! [ROUTE]: bad dialog);
}
else
{
if (is_method(REFER))
  {
xlog(*** route: REFER request, call B2B(refer));
b2b_init_request(refer);
xlog(*** route: REFER request, B2B(refer) called,
exit);
exit;
};

...

};
};
};


What I'm doing wrong?



WBR, Anton Zagorskiy
VoIP Developer, Oyster Telecom
Phone.: +7 812 601-0666
Fax: +7 812 601-0593
a.zagors...@oyster-telecom.ru
www.oyster-telecom.ru





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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Iñaki Baz Castillo
2010/12/28 Bogdan-Andrei Iancu bog...@voice-system.ro:
 As far as I understand this will partially fix the problem, by addressing
 the errors reported by module init functions. The errors generated by the
 child init functions will not be caught by the parent process

Hi bogdan, thanks for your response. If a worker fails to start when
running the chil init function, doesn't the parent (main process)
realize of it and exit?


-- 
Iñaki Baz Castillo
i...@aliax.net

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


Re: [OpenSIPS-Users] b2b refer scenario

2010-12-28 Thread Duane Larson
One thing that might be asked of you is what version of OpenSIPS are you
running.  I think there have been some updates that fixed some b2b issues.
Also I believe that  in order for you to use b2b the SIP message cannot have
a ToTag.

You have to use B2B like so

 if(is_method(INVITE)  !(src_ip == OPENSIPS_IP)  !has_totag() ) {
{
location();
b2b_init_request(refer);
exit;
}

On Tue, Dec 28, 2010 at 11:20 AM, Anton Zagorskiy 
a.zagors...@oyster-telecom.ru wrote:

 Hi.

 I'm trying to use b2b refer scenario
 http://www.opensips.org/Resources/B2buaTutorial#toc15
 But I've got errors in the log:

 *** route: REFER request, call B2B(refer)
 DBG:core:parse_headers: flags=
 DBG:b2b_logic:b2bl_insert_new: new tuple [0xb60c1238]-[468.0]
 DBG:core:parse_headers: flags=
 ERROR:b2b_entities:b2b_new_dlg: Called b2b_init on a Cancel message
 ERROR:b2b_entities:server_new: failed to create new dialog structure entry
 ERROR:b2b_logic:b2b_process_scenario_init: failed to create new b2b server
 instance
 DBG:b2b_logic:b2bl_delete: Delete record [0xb60c1238]-[468.0],
 hash_index=[468], local_index=[0]
 *** route: REFER request, B2B(refer) called, exit

 I'm catching REFER in a loose_route section:

 if (has_totag())
 {
if (loose_route())
  {
if ( ($DLG_status != NULL)  (!validate_dialog()) )
{
xlog(*** !!! [ROUTE]: bad dialog);
}
else
{
if (is_method(REFER))
  {
xlog(*** route: REFER request, call B2B(refer));
b2b_init_request(refer);
xlog(*** route: REFER request, B2B(refer) called,
 exit);
exit;
};

...

};
};
 };


 What I'm doing wrong?



 WBR, Anton Zagorskiy
 VoIP Developer, Oyster Telecom
 Phone.: +7 812 601-0666
 Fax: +7 812 601-0593
 a.zagors...@oyster-telecom.ru
 www.oyster-telecom.ru





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




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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Bogdan-Andrei Iancu

Iñaki Baz Castillo wrote:

2010/12/28 Bogdan-Andrei Iancu bog...@voice-system.ro:
  

As far as I understand this will partially fix the problem, by addressing
the errors reported by module init functions. The errors generated by the
child init functions will not be caught by the parent process



Hi bogdan, thanks for your response. If a worker fails to start when
running the chil init function, doesn't the parent (main process)
realize of it and exit?
  
it is not about terminating, it is about the returned code. Let me give 
you an example:


1) parent process starts
2) demonize is start - daemon process started
3) parent process still running waiting for feedback from the daemon process
4) daemon process does all the core init, does init module, all with success
5) daemon process forks the worker processes (the children procs)
6) daemon process successfully did the job, so returns success
7) parent process receives the feedback from the daemon process, so it 
also ends with success

8) return code of parent process is OK
9) children procs do child_init - db stuff
10) on child proc fails the init - it terminates
11) daemon proc receivs the SIG_CHILD signal and triggers the shutdown
12) everything is shutdown in a clean way

Result: return code was success, but opensips failed to start due a 
startup error.


This is why I'm saying that you need to look further than the daemon 
proc, if you want to implement a proper startup sequence and return code.


Regards,
Bogdan

--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] OpenSipS 1.6 wont build with drouting module enabled

2010-12-28 Thread Bogdan-Andrei Iancu

Hi Dovid,

drouting module is all the time compiled (by default it is included in 
compile list).


Try to do :

make proper exclude_modules=
make all

and it should work,

Regards,
Bogdan

Dovid Bender wrote:

Hi,

When trying to compile OpenSipS 1.6 trunk if the module drouting is 
enabled it just dies after compiling module domainpolicy. Any idea 
what would cause this ?


Regards,
 
Dovid



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



--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] TCP Sockets Phones De-Register and then Quickly Re-Register.

2010-12-28 Thread Bogdan-Andrei Iancu

Hi David,

With TCP, there is no need to have the TCP connection up during the 
whole duration of the registration - it is perfectly normal for the TCP 
conn to be terminated after REGISTER request (by server or client side).


For example, opensips has a timeout - for how long it should keep an 
unused TCP connection (see 
http://www.opensips.org/Resources/DocsCoreFcn16#toc73).


If the UAC is behind NAT, it is a bit of different story, as the TCP 
conn must stay open - the server cannot open later a TCP conn behind 
NAT. For such cases see:
  
http://www.opensips.org/html/docs/modules/1.6.x/registrar.html#id250051


Regards,
Bogdan

David J. wrote:

I am noticing a strange behavior on the phones.

They are connecting over TCP; It seems like every 3 minutes they 
quickly lose registration and then re-register.


I am not sure if it is because the phone is sending a register every 3 
minutes and then opensips is closing the old socket and opening a new 
one or what?


I dont have that much experience using TCP or how do troubleshoot this 
problem.


Thanks.



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




--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Iñaki Baz Castillo
2010/12/28 Bogdan-Andrei Iancu bog...@voice-system.ro:
 1) parent process starts
 2) demonize is start - daemon process started
 3) parent process still running waiting for feedback from the daemon process
 4) daemon process does all the core init, does init module, all with success
 5) daemon process forks the worker processes (the children procs)
 6) daemon process successfully did the job, so returns success
 7) parent process receives the feedback from the daemon process, so it also
 ends with success
 8) return code of parent process is OK
 9) children procs do child_init - db stuff
 10) on child proc fails the init - it terminates

This step 10 could occur due to wrong user:passwd in a DB connection,
am I right?

 11) daemon proc receivs the SIG_CHILD signal and triggers the shutdown
 12) everything is shutdown in a clean way

 Result: return code was success, but opensips failed to start due a startup
 error.

 This is why I'm saying that you need to look further than the daemon proc,
 if you want to implement a proper startup sequence and return code.

Ok, I understand. However I think (not sure now) that a fail in step
10 still makes the daemon (so also parent process) to properly return
with failure code, but I must check it.


Best regards.



-- 
Iñaki Baz Castillo
i...@aliax.net

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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Bogdan-Andrei Iancu

Iñaki Baz Castillo wrote:

2010/12/28 Bogdan-Andrei Iancu bog...@voice-system.ro:
  

1) parent process starts
2) demonize is start - daemon process started
3) parent process still running waiting for feedback from the daemon process
4) daemon process does all the core init, does init module, all with success
5) daemon process forks the worker processes (the children procs)
6) daemon process successfully did the job, so returns success
7) parent process receives the feedback from the daemon process, so it also
ends with success
8) return code of parent process is OK
9) children procs do child_init - db stuff
10) on child proc fails the init - it terminates



This step 10 could occur due to wrong user:passwd in a DB connection,
am I right?
  
not only - there are module which do load data in child_init (and not 
mod_init), like usrloc or drouting - so the failure may be cause by mem, 
bogus data, DB, DNS, etceven configuration errors...
  

11) daemon proc receivs the SIG_CHILD signal and triggers the shutdown
12) everything is shutdown in a clean way

Result: return code was success, but opensips failed to start due a startup
error.

This is why I'm saying that you need to look further than the daemon proc,
if you want to implement a proper startup sequence and return code.



Ok, I understand. However I think (not sure now) that a fail in step
10 still makes the daemon (so also parent process) to properly return
with failure code, but I must check it.
  


I do not think, I'm pretty sure :)  : there is the same process 
relation between parent / daemon and between daemon / worker ; just 
double checked the code. The daemon process starts the rest of the 
processes (timer, workers, TCP, module procs) without getting any 
feedback on the init success of its child processes.


Regards,
Bogdan


--
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro


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


Re: [OpenSIPS-Users] opensips HA resource script (for Heartbeat)

2010-12-28 Thread Iñaki Baz Castillo
2010/12/28 Bogdan-Andrei Iancu bog...@voice-system.ro:
 I do not think, I'm pretty sure :)  : there is the same process relation
 between parent / daemon and between daemon / worker ; just double checked
 the code. The daemon process starts the rest of the processes (timer,
 workers, TCP, module procs) without getting any feedback on the init success
 of its child processes.

Ok :)

-- 
Iñaki Baz Castillo
i...@aliax.net

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


Re: [OpenSIPS-Users] b2b refer scenario

2010-12-28 Thread Anton Zagorskiy

Hi Duane.

I'm using 1.6.4 revision 7621.
I have Linksys SPA 921s. They send REFER request with To-Tag, but you said
B2B cann't be used with To-Tag. How to use B2B in my case?




 
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Duane Larson
Sent: Tuesday, December 28, 2010 8:36 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] b2b refer scenario

One thing that might be asked of you is what version of OpenSIPS are you
running.  I think there have been some updates that fixed some b2b issues. 
Also I believe that  in order for you to use b2b the SIP message cannot have
a ToTag.
 
You have to use B2B like so
 
if(is_method(INVITE)  !(src_ip == OPENSIPS_IP)  !has_totag() ) {
{
    location();
    b2b_init_request(refer);
    exit;
}
On Tue, Dec 28, 2010 at 11:20 AM, Anton Zagorskiy
a.zagors...@oyster-telecom.ru wrote:
Hi.

I'm trying to use b2b refer scenario
http://www.opensips.org/Resources/B2buaTutorial#toc15
But I've got errors in the log:

*** route: REFER request, call B2B(refer)
DBG:core:parse_headers: flags=
DBG:b2b_logic:b2bl_insert_new: new tuple [0xb60c1238]-[468.0]
DBG:core:parse_headers: flags=
ERROR:b2b_entities:b2b_new_dlg: Called b2b_init on a Cancel message
ERROR:b2b_entities:server_new: failed to create new dialog structure entry
ERROR:b2b_logic:b2b_process_scenario_init: failed to create new b2b server
instance
DBG:b2b_logic:b2bl_delete: Delete record [0xb60c1238]-[468.0],
hash_index=[468], local_index=[0]
*** route: REFER request, B2B(refer) called, exit

I'm catching REFER in a loose_route section:

if (has_totag())
{
       if (loose_route())
     {
       if ( ($DLG_status != NULL)  (!validate_dialog()) )
           {
               xlog(*** !!! [ROUTE]: bad dialog);
           }
           else
           {
               if (is_method(REFER))
                 {
                       xlog(*** route: REFER request, call B2B(refer));
                       b2b_init_request(refer);
                       xlog(*** route: REFER request, B2B(refer) called,
exit);
                       exit;
                   };

                                       ...

           };
       };
};


What I'm doing wrong?



WBR, Anton Zagorskiy
VoIP Developer, Oyster Telecom
Phone.: +7 812 601-0666
Fax: +7 812 601-0593
a.zagors...@oyster-telecom.ru
www.oyster-telecom.ru





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



-- 
--
*--*--*--*--*--*
Duane
*--*--*--*--*--*
--


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