[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