[OpenSIPS-Users] Automated Testing Scenario with OpenSIPS

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Feb 8 18:22:20 CET 2013


Hi,

On 02/08/2013 12:17 AM, Pink Cupcake wrote:
> Hi Bogdan-Andrei,
>
> Your response really doesn't help me or deal with the questions I laid 
> out in my original post. Perhaps I was not being clear. Let me start over.
>
Well, my answer was related to the error logs you posted :).

>
>
> I need to implement an automated testing scenario on an OS X build 
> machine.
>
> The test requires two different SIP UAs -- which are both running 
> locally on the same machine -- to successfully engage in a SIP 
> call. In order for two UAs to talk to one another, they need to be 
> registered with a SIP server.
>
> I am trying to determine if OpenSIPS can be used as the server 
> component in my testing scenario.
>
> Since this is an integration test and doesn't require any state being 
> retained, the test steps look like this: (1) bring up an OpenSIPS 
> server in userspace, (2) have the two SIP UA clients register with 
> that server, as simply as possible, (3) have the two SIP UA clients 
> engage in and then end a SIP call, (4) stop the SIP UA clients, (5) 
> shut down the server.
>
> If anything is unclear from the above, please reply back.
Clear and no issues here,

>
>
>
> Please can someone answer the following:
>
> If I can run OpenSIPS in userspace, I would also not like to have it 
> "installed" on the build machine. I used the "prefix" parameter to 
> `make install` into a separate directory and I am attempting to run 
> OpenSIPS from that directory.
>  It looks like I can run OpenSIPS in userspace. Is that correct?
true
>
> From the documentation is looks like OpenSIPS does not use a database 
> by default, and keeps everything in memory. Is that correct?
true
>
> Can any SIP UA client "REGISTER" with OpenSIPS when it is launched in 
> the "default" mode? If so, is there any special way the clients should 
> send the request?
if using the opensips default script, no authentication will be required 
- but you need to use in the REGISTER RURI the IP of the server (so that 
opensips will consider them be handled locally).
>
> If it is necessary for OpenSIPS to be run with a database in order to 
> allow clients to register? If so, will the db_text module suffice? If 
> so, how do I perform this configuration (given my testing scenario)?
no, no need for DB - by default, in cfg, the usrloc module comes with no 
DB support.

Regards,
Bogdan
>
>
> PKCK
>
>
>
> On Thu, Feb 7, 2013 at 5:13 AM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>     Hi,
>
>     Without a trace I cannot tell for sure, but I suspect your clients
>     send several REGISTER requests without increasing the CSEQ no
>     (which is mandatory) - this is the meaning of the error you get.
>
>     So, to be sure, make a network capture with the sip traffic
>     (ngrep) and see what are the replies from opensips.
>
>     Regards,
>
>     Bogdan-Andrei Iancu
>     OpenSIPS Founder and Developer
>     http://www.opensips-solutions.com
>
>
>     On 02/07/2013 12:01 AM, Pink Cupcake wrote:
>>     Hello,
>>
>>     I'm investigating the suitability of OpenSIPS for use in a new
>>     system we are designing. Not only for use in a production
>>     environment, but also how it can be used to facilitate automated
>>     integration tests.
>>
>>     I have a automated testing scenario where I need to have two SIP
>>     UAs that need to have a SIP session. What I would like to do is
>>     bring up a SIP server (in userspace) before the integration test
>>     starts, and bring it down after the integration test ends
>>     (fails/succeeds). The automated test will run on OS X.
>>
>>     I downloaded OpenSIPS and built it on my iMac without any major
>>     problems. I am able to run it in userspace simply by calling it
>>     from the command line like `/sbin/opensips -D -f
>>     /path/to/opensips.cfg`.
>>
>>     In section D of the INSTALL file, "opensips with Persistent Data
>>     Storage", it says:
>>
>>     "The default configuration is very simple and features many
>>     simplifications.
>>     In particular, it does not authenticate users and loses User
>>     Location database
>>     on reboot. To provide persistence, keep user credentials and
>>     remember users'
>>     locations across reboots, opensips can be configured to use
>>     MySQL. Before you
>>     proceed, you need to make sure MySQL is installed on your box."
>>
>>     This sounds ideal to me; I don't need any real kind of account
>>     management or authentication. I would like OpenSIPS to start,
>>     accept whatever REGISTER/INVITE from my two UAs, and then stop
>>     after I'm done. I would prefer not to require any database and
>>     keep it all in-memory, so there's nothing to clean up before or
>>     after the test (and no other dependencies to clean up before and
>>     after, e.g. MySQL databases).
>>
>>     However, I can't seem to connect a SIP UA client to OpenSIPS when
>>     it's started up like this. I am trying to connect with Jitsi, a
>>     Mac client, as well as the ipjsua test app that ships with the
>>     pjsip C library. (I am able to connect both of those to the
>>     sip2sip.info <http://sip2sip.info> service, so I know they are
>>     both functional.)
>>
>>     With Jitsi, I set up a SIP account with Advanced settings
>>     (username: test1, password: test1, display name: test1,
>>     registrar: 127.0.0.1, port: 5060, manual proxy configuration,
>>     proxy: 127.0.0.1, port: 5060).
>>
>>     Log output from opensips in Console.app looks like this:
>>
>>     13-02-06 1:48:21.934 PM opensips: WARNING:core:warn: warning in
>>     config file /path/to/opensips-with-local-changes.cfg, line 50,
>>     column 13-16: tls support not compiled in
>>     13-02-06 1:48:22.010 PM opensips: WARNING:core:main: no fork mode
>>     13-02-06 1:48:22.011 PM opensips: NOTICE:core:main: version:
>>     opensips 1.8.2-notls (x86_64/darwin)
>>     13-02-06 1:48:22.013 PM opensips: NOTICE:signaling:mod_init:
>>     initializing module ...
>>     13-02-06 1:50:58.328 PM opensips:
>>     ERROR:registrar:update_contacts: invalid cseq for aor <test1>
>>     13-02-06 1:51:02.335 PM opensips:
>>     ERROR:registrar:update_contacts: invalid cseq for aor <test1>
>>     13-02-06 1:51:06.342 PM opensips:
>>     ERROR:registrar:update_contacts: invalid cseq for aor <test1>
>>     ...
>>
>>     With ipjsua/pjsip, I use the following configuration switches:
>>
>>     --id sip:test1 at 127.0.0.1 <mailto:sip%3Atest1 at 127.0.0.1>
>>     --registrar sip:127.0.0.1
>>     --realm *
>>     --username test1
>>     --password test1
>>     --nameserver 127.0.0.1
>>     --outbound sip:127.0.0.1
>>
>>     Log output in Console.app looks the same as with Jitsi except for
>>     the "invalid cseq" lines:
>>
>>     13-02-06 1:56:39.004 PM opensips:
>>     ERROR:registrar:update_contacts: invalid cseq for aor <>
>>
>>
>>     What do I need to do to run OpenSIPS in userspace, have it accept
>>     connections from my two SIP UAs, allow them to call each other,
>>     and do it all without requiring a database running?
>>
>>     Do I absolutely require a database? If so, can someone explain
>>     how to configure the db_text module to work for my testing scenario?
>>
>>     Thanks!
>>
>>
>>     _______________________________________________
>>     Users mailing list
>>     Users at lists.opensips.org  <mailto:Users at lists.opensips.org>
>>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130208/9005e27a/attachment-0001.htm>


More information about the Users mailing list