[asterisk-dev] question about tests for capturing SIP messages

Henning Westerholt hw at gilawa.com
Thu Sep 29 14:10:51 CDT 2022


Thank you,

I was aware of the regexp support in sipp but have not used it in this context. The test has been added.

Cheers,

Henning

--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>

From: asterisk-dev <asterisk-dev-bounces at lists.digium.com> On Behalf Of Joshua C. Colp
Sent: Thursday, September 29, 2022 2:25 PM
To: Asterisk Developers Mailing List <asterisk-dev at lists.digium.com>
Subject: Re: [asterisk-dev] question about tests for capturing SIP messages

On Thu, Sep 29, 2022 at 9:15 AM Henning Westerholt <hw at gilawa.com<mailto:hw at gilawa.com>> wrote:
Hello,

as part of working on [1] a test was requested to cover the new functionality.

After figuring out how the basic test suite works (previous e-mail, thanks for the fast reply), I have some questions about the best approach going forward.

The basic scenario is this:


1.       Start Asterisk with pjsip stack

2.       Start Sipp with a re-INVITE scenario

3.       Capturing the SIP message flow

4.       Checking number of returned codecs in 200 OK reply on re-INVITE from Asterisk

5.       Tear down, Result etc..

For 1-2 I’ve took some existing test and adapted it, was straightforward.

For task 3 I’ve found some existing template: tests/channels/SIP/pcap_demo, together with lib/python/sip_message.py and lib/python/pcap_listener.py.

Unfortunately, this test seems to be skipped right now due some old issues with CentOS 6. So as expected, it’s not working anymore.
I have tried to do some adaptions for python3 in the libraries, but it’s still fails. I started to work on this stuff yesterday and therefore I am not the best person to fix these dependencies.

Is this library planned to be updated as well?

If not, are there other suggestions how to address this PCAP based test/check?

You don't need to capture the SIP message flow using pcap or anything like that. There are existing PJSIP tests which cover SDP handling and use SIPp to do so:

https://github.com/asterisk/testsuite/tree/master/tests/channels/pjsip/sdp_offer_answer

For example this one sets up a call, and also checks the 200 OK from Asterisk:

https://github.com/asterisk/testsuite/tree/master/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/single-media-stream/audio/basic

With the SIPp scenario being this:

https://github.com/asterisk/testsuite/blob/master/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/single-media-stream/audio/basic/sipp/uac-all-codecs.xml

You'd need to add a re-INVITE in but there are also examples of that:

https://github.com/asterisk/testsuite/blob/master/tests/channels/pjsip/connected_line/connected_line_allow/sipp/alice.xml#L67

General flow for such a test I'd expect to be:

1. SIPp scenario sends INVITE to Asterisk
2. Asterisk calls Answer()
3. Asterisk calls Wait(36)
4. SIPp scenario sends re-INVITE to Asterisk
5. Asterisk responds to re-INVITE
6. SIPp scenario checks 200 OK
7. SIPp sends BYE to Asterisk
8. Test automatically ends

Asterisk would also have to have a configured endpoint with your new option.

Cheers,

--
Joshua C. Colp
Asterisk Project Lead
Sangoma Technologies
Check us out at www.sangoma.com<http://www.sangoma.com> and www.asterisk.org<http://www.asterisk.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20220929/5cdd9566/attachment-0001.html>


More information about the asterisk-dev mailing list