[jitsi-dev] Using neomedia for SIP testing


#1

Hi,

I am looking for a way to test PBX dialplans on a server that only
does RFC4733 DTMF tones. Basically, I want to dial a number, press
some keys (= send some DTMF tones) and then check whether the caller
has been placed in the correct queue. I have the whole process covered
using SIP INFO, so the only thing missing is the RFC4733 part.

Romain Philibert added RFC4733 to Jitsi in his GSoC project, so I was
hoping to use parts of Jitsi. It seems that I would need to import and
use the whole neomedia package if I want to send DTMF tones. Are there
people who use the package without the rest of Jitsi? Is there a
minimal example of connecting to a SIP server and sending tones?

Thank you for your help!

Regards,
Joost

···

--
Joost Cassee
http://joost.cassee.net


#2

Hey Joost,

На 20.04.11 12:24, Joost Cassee написа:

Hi,

I am looking for a way to test PBX dialplans on a server that only
does RFC4733 DTMF tones. Basically, I want to dial a number, press
some keys (= send some DTMF tones) and then check whether the caller
has been placed in the correct queue. I have the whole process covered
using SIP INFO, so the only thing missing is the RFC4733 part.

Romain Philibert added RFC4733 to Jitsi in his GSoC project, so I was
hoping to use parts of Jitsi. It seems that I would need to import and
use the whole neomedia package if I want to send DTMF tones. Are there
people who use the package without the rest of Jitsi? Is there a
minimal example of connecting to a SIP server and sending tones?

There is no easy way of separating neomedia from the rest of Jitsi at
this point. My opinion is that it would be easier for you if you would
just implement and run your test scripts as a Jitsi plugin.

Hope this helps,
Emil


#3

Thank you for the suggestion. I found "How to write GUI plugins" on
the wiki, but I would like to run my tests within JUnit. On the other
hand, "Creating Services for the SIP Communicator" describes how to
add internal components.

Would it be possible to "play the GUI" from my unit test code? Are
there examples of such usage?

Regards,
Joost

···

2011/4/20 Emil Ivov <emcho@jitsi.org>:

There is no easy way of separating neomedia from the rest of Jitsi at
this point. My opinion is that it would be easier for you if you would
just implement and run your test scripts as a Jitsi plugin.

--
Joost Cassee
http://joost.cassee.net


#4

Hi,

the example on the developers page is a gui plugin, but plugins can be
with no gui dependency. But as you want to run your tests with junit
you can easily write tests like those that already exist in Jitsi.
The bundles that are started when testing are controled through
lib/felix.unit.test.properties, the tests that will run are controlled
from lib/testing.properties. And you can look at the existing test
sources in the "test" folder under the main tree of the project. Run
tests with "ant cc-buildloop".

Cheers
damencho

···

On Wed, Apr 20, 2011 at 3:11 PM, Joost Cassee <joost@cassee.net> wrote:

2011/4/20 Emil Ivov <emcho@jitsi.org>:

There is no easy way of separating neomedia from the rest of Jitsi at
this point. My opinion is that it would be easier for you if you would
just implement and run your test scripts as a Jitsi plugin.

Thank you for the suggestion. I found "How to write GUI plugins" on
the wiki, but I would like to run my tests within JUnit. On the other
hand, "Creating Services for the SIP Communicator" describes how to
add internal components.

Would it be possible to "play the GUI" from my unit test code? Are
there examples of such usage?

Regards,
Joost

--
Joost Cassee
http://joost.cassee.net


#5

the example on the developers page is a gui plugin, but plugins can be
with no gui dependency. But as you want to run your tests with junit
you can easily write tests like those that already exist in Jitsi.

Thanks, I should have thought of that.

The bundles that are started when testing are controled through
lib/felix.unit.test.properties, the tests that will run are controlled
from lib/testing.properties. And you can look at the existing test
sources in the "test" folder under the main tree of the project. Run
tests with "ant cc-buildloop".

I am including Jitsi as a jar in my project, so I would probably have
to configure Felix / OSGi to load the right components. (I have no
experience with it). I could then probably create testcases like the
ones in the Jetsi source. Setting up a call looks easy enough.

Thanks Emil and Damencho for your help.

Regards,
Joost

···

2011/4/20 Damian Minkov <damencho@jitsi.org>:

--
Joost Cassee
http://joost.cassee.net


#6

Hi,

Since last month I have been looking at how to use the Jitsi
components to test SIP servers. I would like to do without separate
property files, and I am currently looking at Pax Exam. Using that I
have succeeded in loading Jitsi bundles into a JUnit testcase.

I am mainly interested in using the SIP protocol component, but when I
load the protocol / protocol-sip bundles I end up chasing the
dependency chain. What bundles do I need to just use the protocol
layer of Jitsi? Or is there an easy way to find out myself?

Regards,
Joost

···

2011/4/20 Joost Cassee <joost@cassee.net>:

2011/4/20 Damian Minkov <damencho@jitsi.org>:

the example on the developers page is a gui plugin, but plugins can be
with no gui dependency. But as you want to run your tests with junit
you can easily write tests like those that already exist in Jitsi.

Thanks, I should have thought of that.

The bundles that are started when testing are controled through
lib/felix.unit.test.properties, the tests that will run are controlled
from lib/testing.properties. And you can look at the existing test
sources in the "test" folder under the main tree of the project. Run
tests with "ant cc-buildloop".

I am including Jitsi as a jar in my project, so I would probably have
to configure Felix / OSGi to load the right components. (I have no
experience with it). I could then probably create testcases like the
ones in the Jetsi source. Setting up a call looks easy enough.

Thanks Emil and Damencho for your help.

Regards,
Joost

--
Joost Cassee
http://joost.cassee.net

--
Joost Cassee
http://joost.cassee.net


#7

Hi all,

···

2011/5/19 Joost Cassee <joost@cassee.net>:

What bundles do I need to just use the protocol
layer of Jitsi? Or is there an easy way to find out myself?

I have decided to look at another project to see whether it is easier
to use for my purpose. This question is no longer on my mind.

Regards,
Joost

--
Joost Cassee
http://joost.cassee.net


#8

Hey Joost,

Sorry for the delay. I saw you mentioned you have moved to an
alternative but I thought I'd put out an answer just the same so that
we'd have it on the record.

На 19.05.11 15:23, Joost Cassee написа:

Hi,

Since last month I have been looking at how to use the Jitsi
components to test SIP servers. I would like to do without separate
property files, and I am currently looking at Pax Exam. Using that I
have succeeded in loading Jitsi bundles into a JUnit testcase.

I am mainly interested in using the SIP protocol component, but when I
load the protocol / protocol-sip bundles I end up chasing the
dependency chain. What bundles do I need to just use the protocol
layer of Jitsi? Or is there an easy way to find out myself?

The bundle list we use for unit testing (felix.unit.test.properties) is
probably a good starting point. You can then take it from there and get
rid of bundles you think you wouldn't need.

That said, if you only need SIP signalling and no media, then using
Jitsi would probably be an overkill. Using things like SipUnit or JSIP
directly would probably be a better call.

Hope this helps,
Emil

···

Regards,
Joost

2011/4/20 Joost Cassee <joost@cassee.net>:

2011/4/20 Damian Minkov <damencho@jitsi.org>:

the example on the developers page is a gui plugin, but plugins can be
with no gui dependency. But as you want to run your tests with junit
you can easily write tests like those that already exist in Jitsi.

Thanks, I should have thought of that.

The bundles that are started when testing are controled through
lib/felix.unit.test.properties, the tests that will run are controlled
from lib/testing.properties. And you can look at the existing test
sources in the "test" folder under the main tree of the project. Run
tests with "ant cc-buildloop".

I am including Jitsi as a jar in my project, so I would probably have
to configure Felix / OSGi to load the right components. (I have no
experience with it). I could then probably create testcases like the
ones in the Jetsi source. Setting up a call looks easy enough.

Thanks Emil and Damencho for your help.

Regards,
Joost

--
Joost Cassee
http://joost.cassee.net

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31