SIPp libraries for robotframework

1,936 views
Skip to first unread message

PDJ

unread,
Dec 15, 2011, 4:44:02 PM12/15/11
to robotframework-users
Good evening everyone,

I am currently working on telecom project and we use robotframework
for test automation. To test calls, we wrote of keywords to drive the
tool SIPP. I would like to know if anyone has any information on the
subject. I visited the following page: robotframework-
us...@googlegroups.com

An example of a simple test call (TestCase):

[SIPp UAC]-----------[SIP Proxy - System Under Test]------------[ SIPp
UAS]

step 1 : Register Phone 1
step 2 : Register Phone 2
step 3 : Make a call from Phone 1 to Phone 2
step 4 : Check that the call is established
step 5 : Hang up from Phone 2 for example
step 6 : Check that the communication is released

The problem is that with SIPp, the steps described above are not
visible because the sequence of steps described above are not visible
because everything is described in the scenario (xml) and the
performance is not representative of this test case.

Thank you in advance.

David

unread,
Dec 15, 2011, 9:05:49 PM12/15/11
to robotframework-users
I've started a project for telecom testing with Robot Framework (RF),
but haven't checked in the library files yet. And I also haven't
worked on the SIPP part of the library package yet either, only worked
on the other parts.

Regarding your scenario, it is likely you can't run it with RF in a
granular way, because SIPP is scenario based and not a stateless
command line tool, or offering any official API to hook into it to
drive SIP scenarios / testing.

Therefore, the best you could do to integrate with RF is simply using
the OperatingSystem library to call the SIPP tool externally running
some scenario XML file, and redirecting output to RF or file, and then
parse the SIPP results through RF so that RF can return a pass/fail
for the whole scenario as part of your RF test suite. So the RF
keywords will be run SIPP script, and analyze results (or you can
combine them together). But you won't be able to do something like hav
the following individual keywords: register phone 1, register phone2,
make a call, etc.

Well, actually you might in some cases, but it becomes a mess, you
have to run SIPP scripts in parallel with one script handling one step
(typically perhaps all running on same machine, but maybe not). One
script register user A, another register B, and third script will
handle A calls B, and you run registration scripts first, which
continue to run, then run call script, then kill registration scripts
if they don't auto end after call script ends.

FYI, my project is at

http://code.google.com/p/telcotools4robotframework/

and you might be able to get more granularity if driving a SIP tool
like a softphone via an API or command line wrapper making it
stateless and thus you can have RF keywords like call number, answer
call, hang up, etc. I've build that up for a library but haven't
released it yet. Let me know if you're interested and I'll post it up
sooner.

PDJ

unread,
Dec 16, 2011, 6:08:17 AM12/16/11
to robotframework-users
Hello,
Thank you for your response.Actually that's what I call for SIPP in my
tests using the OperatingSystem library.
I am interested in the evolution of this project.
Sincerely,DPJ

Tim Alexander

unread,
Dec 28, 2011, 12:24:28 PM12/28/11
to pdj...@gmail.com, robotframework-users
Hmmmm, I might contribute to that project. I can't release the code I
have (XML RPC based call control framework similar in function to
cyara or Hammer Callmaster), since it's in house only. That's one of a
few things I simply am not allowed to release as open source. However,
there's a number of other tools I've got that might do well as part of
the project (was thinking of starting my own a lot like this)

> --
> You received this message because you are subscribed to the Google Groups "robotframework-users" group.
> To post to this group, send email to robotframe...@googlegroups.com.
> To unsubscribe from this group, send email to robotframework-u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/robotframework-users?hl=en.
>

Tim Alexander

unread,
Dec 28, 2011, 12:27:55 PM12/28/11
to pdj...@gmail.com, robotframework-users
oops, spoke to soon. Apparently there's no code on the project... Any
chance you'll be uploading anything (a download, or checking in to
version control) at some point? I can build off the SMS stuff you
already have, that's something I have LOTS of code already built for
(though mine talks to an SMSC, not to a phone. Not sure what yours
does)

David

unread,
Dec 28, 2011, 9:38:07 PM12/28/11
to robotframework-users
I've checked in the current state of the code. They should work more
or less, but there might be some issues, here there, as I haven't had
time to test them against RF. Consider them development / Alpha stage
quality.

Unfortunately, I didn't get to the SIPpLibrary yet, and I'm not
working in telecom industry anymore, so it may be a while until I get
that created. The Google Voice/SMS library should work to some extent
(or hopefully works w/ no problems) as I haven't tested it much, and
hopefully Google didn't make any changes that breaks the Python API
that this is based on.

The Eyebeam/X-Lite library should be most complete as it was just a
port from VBScript to a resource file utilizing the AutoItLibrary.

Tim, feel free to join the project, and I can add you as a contributor/
committer if you wish. Or feel free to submit patches via issues.

On Dec 28, 9:27 am, Tim Alexander <dragonfyr...@gmail.com> wrote:
> oops, spoke to soon. Apparently there's no code on the project... Any
> chance you'll be uploading anything (a download, or checking in to
> version control) at some point? I can build off the SMS stuff you
> already have, that's something I have LOTS of code already built for
> (though mine talks to an SMSC, not to a phone. Not sure what yours
> does)
>
>
>
>
>
>
>
> On Wed, Dec 28, 2011 at 11:24 AM, Tim Alexander <dragonfyr...@gmail.com> wrote:
> > Hmmmm, I might contribute to that project. I can't release the code I
> > have (XML RPC based call control framework similar in function to
> > cyara or Hammer Callmaster), since it's in house only. That's one of a
> > few things I simply am not allowed to release as open source. However,
> > there's a number of other tools I've got that might do well as part of
> > the project (was thinking of starting my own a lot like this)
>

David

unread,
Dec 28, 2011, 9:44:13 PM12/28/11
to robotframework-users
Forgot to mention, I have no standalone SMS library apart from Google
Voice yet, as there's no good free SMS tool or service that doesn't
require CAPTCHA.

This is best one I've used, but can't be integrated in library due to
CAPTCHA: http://www.watacrackaz.com/autosms/

and I was going to create an SMS library for a service that allows
users to signup to an SMS list and you can send SMS to the list via a
REST API. And it's free, don't recall the name of service off the top
of my head. Never got around to it yet either.

David

unread,
Dec 28, 2011, 9:47:35 PM12/28/11
to robotframework-users
One more note Tim and others, if you rather not spawn another project
and if you have tools you think would be nice to include in my project
collection, feel free to contact me and post issue to the project
site. I can incorporate it into the project as additional libraries
(and you can give credit to yourself as author in your tool code).
Otherwise, you can spawn your own project.

David

unread,
Dec 28, 2012, 9:46:18 PM12/28/12
to robotframework-users
Hi Lina,

Unfortunately no. As mentioned earlier, I no longer work in telecom,
so it's not a priority for me to work on that anymore. Plus I don't
have to tools currently set up to continue working and testing against
that.

I haven't been keeping up with SIPP news, but unless they offer an API
or stateless/interactive command line or shell interface, SIPP with RF
will be pretty limited. You would have to build several custom
granular XML scenario files that combined represent a test (rather
than 1 or 2 files) and execute those through RF.

As for my original planned work for SIPPLibrary, it was just going to
have keywords to execute SIPP script, and maybe terminate/kill SIPP
script, so you'd have to build the SIPP XML script file yourself for
executing. But I never got to implementing those keywords yet.

http://code.google.com/p/telcotools4robotframework/source/browse/trunk/SippLibrary/SippLibrary.htm

The best working developmental library you could try for RF SIP
automation would be this:

http://code.google.com/p/telcotools4robotframework/source/browse/trunk/EyeBeamX-LiteLibrary/EyeBeamX-LiteLibrary.htm

In terms of building a good SIP library for RF, this may be the best
option based on API support, but the project doesn't seem to be active
in recent years:

http://sipper.agnity.com/index.php

On Dec 27, 6:41 pm, lina.b...@gmail.com wrote:
> Hi David,
>
> I am interesting in such project. I am working on SIP server development
> and preparing to use robot framework to perform automation test.
>
> Is there any updates on SIPP source file or SIP library?
>
> 在 2011年12月16日星期五UTC+8上午10时05分49秒,David写道:
> > > us...@googlegroups.com <javascript:>

lina...@gmail.com

unread,
Jan 4, 2013, 12:55:15 AM1/4/13
to robotframe...@googlegroups.com
Hi David,

Happy New Year!
Thank you very much for your quick response. I will investigate EyeBeamX-LiteLibrary first to see whether we can use it or stay on SIPP.

Thanks,
Amanda

在 2012年12月29日星期六UTC+8上午10时46分18秒,David写道:

David

unread,
Jan 4, 2013, 3:09:18 AM1/4/13
to robotframework-users
FYI, I noticed missing line of data/code in EyeBeamX-LiteLibrary and
just committed a fix for that.

And for anyone interested in using EyeBeamX-LiteLibrary, the library
by itself should be useful for testing SIP protocol and call control.
But if need to also test receiving of DTMF or receiving audio (proper
transmission, QoS, noise/static/distortion, or silence, etc.)
additional libraries in the toolchain are needed. I built some of them
but unfortunately, they were never fully completed nor tested,
consider those other libraries in Alpha stage, while the eyebeam
library is Beta. But they're a starting point to fix up and get
working to pair with the eyebeam library to give a full SIP automation
solution. These libraries are listed below.

And in regards to the eyebeam library, sending audio to the other user
agent or party, there's a keyword defined for that, but as documented
in keyword, you'll need to do some client machine set up to support
that. Contact me if have questions in that area.

DTMF detection via network/audio capture saved to file
http://code.google.com/p/telcotools4robotframework/source/browse/trunk/DetectDtmfFromFileLibrary/DetectDtmfFromFileLibrary.py

audio conversion library to reformat capture/audio files to telecom
audio format
http://code.google.com/p/telcotools4robotframework/source/browse/trunk/SoxAudioConversionLibrary/SoxAudioConversionLibrary.htm

audio tone/frequency detection library concept (for audio & DTMF
detection)
http://code.google.com/p/telcotools4robotframework/source/browse/trunk/ToneDetLibrary/ReadMe.txt

audio/DTMF detection via PCAP network capture diff technique
http://code.google.com/p/telcotools4robotframework/source/browse/trunk/PcapLibrary/PcapLibrary.py

On Jan 3, 9:55 pm, lina.b...@gmail.com wrote:
> Hi David,
>
> Happy New Year!
> Thank you very much for your quick response. I will investigate
> EyeBeamX-LiteLibrary<http://code.google.com/p/telcotools4robotframework/source/browse/trun...> first
> to see whether we can use it or stay on SIPP.
>
> Thanks,
> Amanda
>
> 在 2012年12月29日星期六UTC+8上午10时46分18秒,David写道:
>
>
>
>
>
>
>
>
>
> > Hi Lina,
>
> > Unfortunately no. As mentioned earlier, I no longer work in telecom,
> > so it's not a priority for me to work on that anymore. Plus I don't
> > have to tools currently set up to continue working and testing against
> > that.
>
> > I haven't been keeping up with SIPP news, but unless they offer an API
> > or stateless/interactive command line or shell interface, SIPP with RF
> > will be pretty limited. You would have to build several custom
> > granular XML scenario files that combined represent a test (rather
> > than 1 or 2 files) and execute those through RF.
>
> > As for my original planned work for SIPPLibrary, it was just going to
> > have keywords to execute SIPP script, and maybe terminate/kill SIPP
> > script, so you'd have to build the SIPP XML script file yourself for
> > executing. But I never got to implementing those keywords yet.
>
> >http://code.google.com/p/telcotools4robotframework/source/browse/trun...
>
> > The best working developmental library you could try for RF SIP
> > automation would be this:
>
> >http://code.google.com/p/telcotools4robotframework/source/browse/trun...
Reply all
Reply to author
Forward
0 new messages