[OpenSIPS-Devel] [ opensips-Feature Requests-2820627 ] Add option to specify default DB URI

2009-07-13 Thread SourceForge.net
Feature Requests item #2820627, was opened at 2009-07-13 08:49
Message generated for change (Tracker Item Submitted) made by gordonross
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086413aid=2820627group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
Status: Open
Priority: 5
Private: No
Submitted By: Gordon Ross (gordonross)
Assigned to: Nobody/Anonymous (nobody)
Summary: Add option to specify default DB URI

Initial Comment:
Many of the modules require access to a database. In some circumstances it may 
be necessary or desirable to use different usernames/passwords/hosts for the 
different modules. However, I suspect for many uses, there is no need to do 
this. So why do we have to specify the URI for each module that requires DB 
access ?

Why not have an option to specify a default DB URI (which can still be 
over-ridden per module if needs be) ?

NOTE: This default option should have a default value of NULL

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086413aid=2820627group_id=232389

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


[OpenSIPS-Devel] [ opensips-Bugs-2820717 ] event_parse parse first parameter only

2009-07-13 Thread SourceForge.net
Bugs item #2820717, was opened at 2009-07-13 14:25
Message generated for change (Tracker Item Submitted) made by tiberius_d
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2820717group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Tiberius DULUMAN (tiberius_d)
Assigned to: Nobody/Anonymous (nobody)
Summary: event_parse parse first parameter only

Initial Comment:
There is a bug in function int event_parser(char* _s, int _l, event_t* _e) in 
parse_event.c. The call
end= skip_token(params_str.s, tmp.len- _e-text.len- 1);
is wrong. This makes the function to parse first parameter only of the Event 
header. I have replaced it with:
end= tmp.s + tmp.len;
and it works fine now.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2820717group_id=232389

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


[OpenSIPS-Devel] [ opensips-Patches-2706135 ] Change to listen= syntax to support per-interface advertised

2009-07-13 Thread SourceForge.net
Patches item #2706135, was opened at 2009-03-23 15:50
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086412aid=2706135group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Phil D'Amore (ptdamore)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: Change to listen= syntax to support per-interface advertised

Initial Comment:
[This is the patch for an idea I posted several weeks ago to the devel list.
Below is the original list posting as an explanation.]

The patch extends the idea of the advertised_address and advertised_port
parameters so that it is possible to bind such an address to each
listen= statement.

Syntax-wise, it works like this:

  listen=[proto:]host[:port][ AS host[:port]]

This new AS host[:port] syntax binds the advertised address specifically to the
corresponding socket_info structure.  If such an address is specified, it will
be used before the address specified as advertised_address, or set in the
set_advertised_address function for packets being sent on that particular
socket.  If it is not specified, then the old methods work as before.

The core has been modified so that address tuples using the advertised address
work interchangeably with the real address where you'd expect them to.
grep_sock_info and find_si have been updated to allow this.  Therefore, it is
not necessary to explicitly name your advertised address on an alias= line.
The following are now equivalent:

  force_send_socket(udp:adv_address:adv_port);
  force_send_socket(udp:real_address:real_port);

Note we don't specify protocol on the advertised address.  The way I see
things, it makes no sense to advertise a different protocol, so it inherits the
protocol of the socket.

Via construction is affected in the same way that the old global
advertised_address does, except the Via is written specifically for
the socket used
to send the message.

Lump substitution is also affected.  The following lump substitutions are aware
of this new facility:

 SUBST_RCV_IP
 SUBST_RCV_PORT
 SUBST_RCV_ALL
 SUBST_SND_IP
 SUBST_SND_PORT
 SUBST_SND_ALL

As a result of this, I was able to stop using record_route_preset in
my own config, and
just use standard record_route.  This winds up working much better,
because double-rr
works properly, and add_rr_param now works as expected for me, where it was a
problem using record_route_preset.

Additionally, registrar and usrloc had to be modified:

registrar - update the add_sock_hdr function to put the advertised address in
the message instead of the real address.  This allows registration information
to be replicated between multi-homed proxies, and the correct interface on the
peer can be used.

usrloc - update db_insert_ucontact to store the advertised address in the
database instead of the real address.  Same reasoning as the mods to registrar.

--

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-07-13 14:36

Message:
Hi Phil,

Is the listen_alias_port_fixed.patch the final version with all the bugs
fixed ? If so, I will review the code and upload it on SVN.

Thanks and regards,
Bogdan

--

Comment By: Phil D'Amore (ptdamore)
Date: 2009-07-10 21:05

Message:
Hi Bogdan:

Any word if this will be included in the next release now that the bug is
fixed?

Thanks,
Phil

--

Comment By: Nergal (nergalex)
Date: 2009-06-03 13:07

Message:
Hello Phil,

That's great, the bug is fixed!
Results of no regression tests is OK too.

Thank you for your help.
Alexis

--

Comment By: Phil D'Amore (ptdamore)
Date: 2009-05-26 20:03

Message:
Alexis:

Thanks for the extra information.  I think I found the cause of the issue,
and I've uploaded a new version of the patch.  Please try the
listen_alias_port_fixed.patch.  I have not had time to test the issue in my
environment since I use port 5060 everywhere.  Since I don't know if I'll
be able to do it today I'm uploading the modified patch so you can test if
you'd like.

The issue was in the changes to msg_translator.c.  I was incorrectly using
the length of the original port to calculate an offset.  It was not
properly re-written with the rest of the code to use the alias port when
it's available.

Thanks,
Phil

--

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-05-26 19:52

Message:
Hi Guys,

Is the bug fixed in the patch ? I just want to know to start evaluating
the patch for upload.


[OpenSIPS-Devel] [ opensips-Bugs-2818650 ] signo=Could not find the frame base for sig_alarm_abort

2009-07-13 Thread SourceForge.net
Bugs item #2818650, was opened at 2009-07-08 20:49
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2818650group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: 1.4.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Thomas V (tomvogt)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: signo=Could not find the frame base for sig_alarm_abort

Initial Comment:
opensips 1.4.5-notls, FreeBSD 7.0 (i386). opensips core dumps after a few hours 
with:

#0  0x28268017 in kill () from /lib/libc.so.7
#1  0x28267f76 in raise () from /lib/libc.so.7
#2  0x28266b8a in abort () from /lib/libc.so.7
#3  0x08067ee3 in sig_alarm_abort (signo=Could not find the frame base for 
sig_alarm_abort.
) at main.c:423
#4  signal handler called
#5  fm_status (qm=0x287fe000) at mem/f_malloc.c:512
#6  0x080679ed in cleanup (show_status=1) at main.c:356
#7  0x08068795 in handle_sigs () at main.c:524
#8  0x0806c969 in main (argc=3, argv=0xbfbfec58) at main.c:866


any idea?


--

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-07-13 15:14

Message:
Hi Thomas,

Somewhere in the code, a SEG FAULT happens:

Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8408]:
INFO:core:handle_sigs: child process 8421 exited by a signal 11

This triggers a shutdown, but this fails and a second crash happens - the
new core file is overwriting the original one, hiding the real cause of the
crash.

To avoid this, I attached here a small patch that will skip the shutdown
part, so that it will avoid the overwrite of the core. Please patch your
code and post here the BT of the real core file

--

Comment By: Thomas V (tomvogt)
Date: 2009-07-10 16:07

Message:
It crashes also with more Ram. Looks like memory is not the case. I do not
have more information.


With an older opensips 1.4.2-notls the system always crashed with:
SIP/2.0 180 Ringing\r\nVia: SIP/2.0/UDP
212.xxx.xxx.xxx;branch=z9hG4bK0622.99552112.0\r\nVia: SIP/2.0/UDP 
85.xxx.xxx.xxx4:5060;received=85.xxx.xxx.xxx;rport=5060;branch=z9hG4bKc3ba5c8f50bc782082391762e9a2fa9e\r\nF...,
len=503, 
  rcv_info=0xbfbfeb14

A ngrep when 1.4.2 was running showed:
U 85.xxx.xxx.xxx:5060 - 212.xxx.xxx.xxx:5060
INVITE sip:x...@212.xxx.xxx.xxx SIP/2.0.
Via: SIP/2.0/UDP
85.xxx.xxx.xxx4:5060;rport;branch=z9hG4bK3759d84a0bea3edc47d08b9ec1cd2979.
To: sip:...@212.xxx.xxx.xxx.
From: sip:...@212.xxx.xxx.xxx;tag=AI60E7E8F4CC7D6BD2.
Call-ID: ai1e214f5edc57c...@192.168.1.240.
CSeq: 1 INVITE.
Max-Forwards: 70.
Contact: sip:...@85.xxx.xxx.xxx;line=AIDF22AB43A35036D9.
Accept: application/sdp.
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER.
P-Preferred-Identity: sip:xx...@212.xxx.xxx.xxx5.
Privacy: none.
User-Agent: Aastra Intelligate.
Content-Type: application/sdp.
Content-Length: 248.
.

.

.

.

.

.

.

.

.

#
I 212.xxx.xxx.xxx - 85.xxx.xxx.xxx 3:3
...E(..k...;.
Uv...e.}~ ;l
#


We installed Revision: 5049. After that we had the sig_alarm_abort issue.
So we updated to 1.4.5-notls. Nothing changed, opensips still crashes. 

--

Comment By: Thomas V (tomvogt)
Date: 2009-07-10 12:13

Message:
Hi Bogdan

I'm not sure but it looks like a memory leak. I upgraded the system to
FreeBSD 7.2 and added an additional 1 GB memory (total 2gb). After 48h
opensips reserved at least 1gb (1gb is for postgresql). We do not allow to
use swap on the system. If the system has less than 50mb left, opensips
crashes

Log:

Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8408]:
INFO:core:handle_sigs: child process 8421 exited by a signal 11
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8408]:
INFO:core:handle_sigs: core was generated
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8408]:
INFO:core:handle_sigs: terminating due to SIGCHLD
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8439]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8435]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8434]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8433]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8432]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8427]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8426]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8425]: INFO:core:sig_usr:
signal 15 received
Jul 10 08:58:59 sip02 /usr/local/sbin/opensips[8424]: INFO:core:sig_usr:
signal 15 

[OpenSIPS-Devel] dialog.info event package?

2009-07-13 Thread Adrian Georgescu
It occurs to me that when one wants to properly implement the dialog  
event package in an end-point it also needs:

a) A way to provision policy
b) A way to be notified about watchers

For Event=presence we have pres-rules for a) and presence.winfo for  
b). Dialog-rules and dialog.winfo seem to be a mirrored way to do the  
similar but for dialog event.

Does anyone have any better idea for how to accomplish the above?

Adrian


  

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


[OpenSIPS-Devel] [ opensips-Bugs-2819246 ] opensipsctl add broken for Postgres

2009-07-13 Thread SourceForge.net
Bugs item #2819246, was opened at 2009-07-09 23:59
Message generated for change (Settings changed) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2819246group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: tools
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Gordon Ross (gordonross)
Assigned to: Iulia Bublea (iulia_bublea)
Summary: opensipsctl add broken for Postgres

Initial Comment:
With the latest code from the trunk, if you try and add a user/subscriber to 
the DB (when using the Postgres backend) you are unable to. You get the message 
that the entry already exists in aliases. Yet the aliases tables are empty. 
Reverting back to the 1.5.1 source tarball, and things work fine.

I suspect that the error is in the way the code is handling the return from the 
count() SQL function which is used to ascertain is the entry already exists.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2819246group_id=232389

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


[OpenSIPS-Devel] [ opensips-Bugs-2819246 ] opensipsctl add broken for Postgres

2009-07-13 Thread SourceForge.net
Bugs item #2819246, was opened at 2009-07-09 23:59
Message generated for change (Comment added) made by iulia_bublea
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2819246group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: tools
Group: trunk
Status: Closed
Resolution: None
Priority: 5
Private: No
Submitted By: Gordon Ross (gordonross)
Assigned to: Iulia Bublea (iulia_bublea)
Summary: opensipsctl add broken for Postgres

Initial Comment:
With the latest code from the trunk, if you try and add a user/subscriber to 
the DB (when using the Postgres backend) you are unable to. You get the message 
that the entry already exists in aliases. Yet the aliases tables are empty. 
Reverting back to the 1.5.1 source tarball, and things work fine.

I suspect that the error is in the way the code is handling the return from the 
count() SQL function which is used to ascertain is the entry already exists.

--

Comment By: Iulia Bublea (iulia_bublea)
Date: 2009-07-13 19:05

Message:
Problem encountered due to the use of concat function, which is not
Postgres compatible. Issue was fixed

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086410aid=2819246group_id=232389

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


[OpenSIPS-Devel] [ opensips-Patches-2706135 ] Change to listen= syntax to support per-interface advertised

2009-07-13 Thread SourceForge.net
Patches item #2706135, was opened at 2009-03-23 09:50
Message generated for change (Comment added) made by ptdamore
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=1086412aid=2706135group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Phil D'Amore (ptdamore)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: Change to listen= syntax to support per-interface advertised

Initial Comment:
[This is the patch for an idea I posted several weeks ago to the devel list.
Below is the original list posting as an explanation.]

The patch extends the idea of the advertised_address and advertised_port
parameters so that it is possible to bind such an address to each
listen= statement.

Syntax-wise, it works like this:

  listen=[proto:]host[:port][ AS host[:port]]

This new AS host[:port] syntax binds the advertised address specifically to the
corresponding socket_info structure.  If such an address is specified, it will
be used before the address specified as advertised_address, or set in the
set_advertised_address function for packets being sent on that particular
socket.  If it is not specified, then the old methods work as before.

The core has been modified so that address tuples using the advertised address
work interchangeably with the real address where you'd expect them to.
grep_sock_info and find_si have been updated to allow this.  Therefore, it is
not necessary to explicitly name your advertised address on an alias= line.
The following are now equivalent:

  force_send_socket(udp:adv_address:adv_port);
  force_send_socket(udp:real_address:real_port);

Note we don't specify protocol on the advertised address.  The way I see
things, it makes no sense to advertise a different protocol, so it inherits the
protocol of the socket.

Via construction is affected in the same way that the old global
advertised_address does, except the Via is written specifically for
the socket used
to send the message.

Lump substitution is also affected.  The following lump substitutions are aware
of this new facility:

 SUBST_RCV_IP
 SUBST_RCV_PORT
 SUBST_RCV_ALL
 SUBST_SND_IP
 SUBST_SND_PORT
 SUBST_SND_ALL

As a result of this, I was able to stop using record_route_preset in
my own config, and
just use standard record_route.  This winds up working much better,
because double-rr
works properly, and add_rr_param now works as expected for me, where it was a
problem using record_route_preset.

Additionally, registrar and usrloc had to be modified:

registrar - update the add_sock_hdr function to put the advertised address in
the message instead of the real address.  This allows registration information
to be replicated between multi-homed proxies, and the correct interface on the
peer can be used.

usrloc - update db_insert_ucontact to store the advertised address in the
database instead of the real address.  Same reasoning as the mods to registrar.

--

Comment By: Phil D'Amore (ptdamore)
Date: 2009-07-13 12:47

Message:
Bogdan,

Yes the listen_alias_port_fixed.patch file contains a complete patch with
the known issues fixed.

Looking forward to your assessment.

Thanks,
Phil

--

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-07-13 07:36

Message:
Hi Phil,

Is the listen_alias_port_fixed.patch the final version with all the bugs
fixed ? If so, I will review the code and upload it on SVN.

Thanks and regards,
Bogdan

--

Comment By: Phil D'Amore (ptdamore)
Date: 2009-07-10 14:05

Message:
Hi Bogdan:

Any word if this will be included in the next release now that the bug is
fixed?

Thanks,
Phil

--

Comment By: Nergal (nergalex)
Date: 2009-06-03 06:07

Message:
Hello Phil,

That's great, the bug is fixed!
Results of no regression tests is OK too.

Thank you for your help.
Alexis

--

Comment By: Phil D'Amore (ptdamore)
Date: 2009-05-26 13:03

Message:
Alexis:

Thanks for the extra information.  I think I found the cause of the issue,
and I've uploaded a new version of the patch.  Please try the
listen_alias_port_fixed.patch.  I have not had time to test the issue in my
environment since I use port 5060 everywhere.  Since I don't know if I'll
be able to do it today I'm uploading the modified patch so you can test if
you'd like.

The issue was in the changes to msg_translator.c.  I was incorrectly using
the length of the original port to calculate an offset.  It was not
properly re-written with the rest of the code to use the alias port 

Re: [OpenSIPS-Devel] dialog.info event package?

2009-07-13 Thread Iñaki Baz Castillo
El Lunes, 13 de Julio de 2009, Adrian Georgescu escribió:
 It occurs to me that when one wants to properly implement the dialog
 event package in an end-point it also needs:

 a) A way to provision policy
 b) A way to be notified about watchers

 For Event=presence we have pres-rules for a) and presence.winfo for
 b). Dialog-rules and dialog.winfo seem to be a mirrored way to do the
 similar but for dialog event.

 Does anyone have any better idea for how to accomplish the above?

The provision policy (using XCAP?) is not defined by IETF. However, using 
dialog.winfo is the expected way since winfo package is defined for any kind 
of event type.


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

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


[OpenSIPS-Devel] Developer Docs?

2009-07-13 Thread Andaleeb Roomy
Hello,

I am new to OpenSIPS. My target is to make a SIP Application Server
for presence and messaging according to GSM RCS initiative.

I did some exploration of the presence and rls features from the
website. I think I will have to extend these to meet OMA/RCS specs.

I am quite lost when I peek into the code to understand it. As it is
written in plain C, not object oriented C++. Can anyone point me to
some sort of development guide or doc that shows how different modules
interact with each other, how to extend a module, what basics does a
module need, how can one module be used from another, what the general
flow of execution is with core and modules, overview of the
architecture of OpenSIPS, how to parse messages, the commonly used
codes etc.

I think it would have been helpful to have some document from the
devel course link, but I could not find any.


Thanks,

Andaleeb

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


Re: [OpenSIPS-Devel] Developer Docs?

2009-07-13 Thread Alex Balashov
The Kamailio folks have a development guide:

   http://www.kamailio.org/docs/openser-devel-guide/

Much of what is said there applies to OpenSIPS as well - at least, so 
far.  A great deal of it is generally true of the OpenSER code stock.

Andaleeb Roomy wrote:

 Hello,
 
 I am new to OpenSIPS. My target is to make a SIP Application Server
 for presence and messaging according to GSM RCS initiative.
 
 I did some exploration of the presence and rls features from the
 website. I think I will have to extend these to meet OMA/RCS specs.
 
 I am quite lost when I peek into the code to understand it. As it is
 written in plain C, not object oriented C++. Can anyone point me to
 some sort of development guide or doc that shows how different modules
 interact with each other, how to extend a module, what basics does a
 module need, how can one module be used from another, what the general
 flow of execution is with core and modules, overview of the
 architecture of OpenSIPS, how to parse messages, the commonly used
 codes etc.
 
 I think it would have been helpful to have some document from the
 devel course link, but I could not find any.
 
 
 Thanks,
 
 Andaleeb
 
 ___
 Devel mailing list
 Devel@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/devel


-- 
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct  : (+1) (678) 954-0671

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