[OpenSIPS-Users] Automated Testing Scenario with OpenSIPS

Nick Khamis symack at gmail.com
Sat Feb 9 01:49:57 CET 2013


Pink,

A great resource that can get you up and going in at most a week can
be found here:


http://www.google.com/url?q=http://www.h6315.com/ast_book/Building%2520Telephony%2520Systems%2520with%2520OpenSIPS%25201.6.pdf&sa=U&ei=AJ0VUdahEvG10AGl4IDIDA&ved=0CB8QFjAA&sig2=q5gYZ0W2OeVVhS-YaZ0xjg&usg=AFQjCNFrbF0lgZG6kcTaZwI5uu-azQSx-w

Happy Routing!

Nick.

On 2/8/13, Bogdan-Andrei Iancu <bogdan at opensips.org> wrote:
> 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
>>
>>
>



More information about the Users mailing list