Hello Pavel, I have separated my scripts into two parts: one for REGISTER and another for Incoming INVITE. In the REGISTER script, I have hardcoded the Contact header with a specific port, and I have started the UAS (User Agent Server) script on the same address and port specified in the Contact header.
Also I have added pause milliseconds="120000" to make the REGISTER session alive. However, the issue persists regardless of whether I hardcode the Contact header or not. When I initiate a call, the INVITE is still sent to the REGISTER SIPp instance instead of being directed to the INVITE SIPp instance. ######### ######### /usr/local/src/sipp-3.5.3/sipp -sf reg_with_contact.xml -inf test_itly.csv -i 88.12.45.295 -p 5061 78.12.45.256:5061 -t ln -tls_key $PWD/myx_key.pem -tls_cert myx_cert.pem -m 1 ######### ######### cat reg_with_separate_contact.xml <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <scenario name="UAC with media"> <send retrans="500"> <![CDATA[ REGISTER sip:[field1];transport=tls SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: <sip:[field0]@[field1]>;tag=[call_number] To: <sip:[field0]@[field1]:[remote_port]> Call-ID: [call_id] CSeq: 1 REGISTER Contact: sip:user_yyyKuu@88.12.45.295:5069 Max-Forwards: 5 Expires: 3600 Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY k:timer,path,replaces User-Agent: SIPp Content-Length: 0 ]]> </send> <recv response="401" auth="true"> </recv> <send retrans="500"> <![CDATA[ REGISTER sip:[field1];transport=tls SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: <sip:[field0]@[field1]>;tag=[call_number] To: <sip:[field0]@[field1]> Call-ID: [call_id] CSeq: 2 REGISTER Contact: sip:user_KvwJyyyKuu@88.12.45.295:5069 [field2] Max-Forwards: 5 Expires: 3600 Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY k:timer,path,replaces User-Agent: SIPp Content-Length: 0 ]]> </send> <!--recv response="100" auth="true"> </recv--> <recv response="100" optional="true"> </recv> <recv response="200"></recv> <pause milliseconds="120000"> <send retrans="500"> <![CDATA[ REGISTER sip:[field1];transport=tls SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: <sip:[field0]@[field1]>;tag=[call_number] To: <sip:[field0]@[field1]> Call-ID: [call_id] CSeq: 3 REGISTER Contact: sip:user_KvwJyyyKuu@88.12.45.295:5069 [field2] Max-Forwards: 5 Expires: 3600 Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY k:timer,path,replaces User-Agent: SIPp Content-Length: 0 ]]> </send> <!--recv response="100" auth="true"> </recv--> <recv response="100" optional="true"> </recv> <recv response="200"></recv> <pause milliseconds="120000"/> <!-- definition of the response time repartition table (unit is ms) --> <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> <!-- definition of the call length repartition table (unit is ms) --> <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> </scenario> ####### ####### Incoming Call Script: /usr/local/src/sipp-3.5.3/sipp -sf 200OK_Media-caller-bye.xml -i 88.12.45.295 -p 5069 -t ln -tls_key $PWD/myx_key.pem -tls_cert myx_cert.pem ####### ####### cat 200OK_Media-caller-bye.xml <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <!-- This program is free software; you can redistribute it and/or --> <!-- modify it under the terms of the GNU General Public License as --> <!-- published by the Free Software Foundation; either version 2 of the --> <!-- License, or (at your option) any later version. --> <!-- --> <!-- This program is distributed in the hope that it will be useful, --> <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of --> <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --> <!-- GNU General Public License for more details. --> <!-- --> <!-- You should have received a copy of the GNU General Public License --> <!-- along with this program; if not, write to the --> <!-- Free Software Foundation, Inc., --> <!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> <!-- --> <!-- Sipp default 'uas' scenario. --> <!-- --> <scenario name="Basic UAS responder"> <!-- By adding rrs="true" (Record Route Sets), the route sets --> <!-- are saved and used for following messages sent. Useful to test --> <!-- against stateful SIP proxies/B2BUAs. --> <recv request="INVITE" crlf="true"> <action> <!--ereg regexp="\<(.*)\>" search_in="hdr" header="Contact:" check_it="true" assign_to="new" /> <ereg regexp=".*" search_in="hdr" header="From:" assign_to="remote_from"/> <ereg regexp=".*" search_in="hdr" header="To:" assign_to="remote_to"/--> <ereg regexp=".*" search_in="hdr" header="Record-Route:" occurence="1" assign_to="2"/> <ereg regexp=".*" search_in="hdr" header="Record-Route:" occurence="2" assign_to="3"/> </action> </recv> <!-- The '[last_*]' keyword is replaced automatically by the --> <!-- specified header if it was present in the last message received --> <!-- (except if it was a retransmission). If the header was not --> <!-- present or if no message has been received, the '[last_*]' --> <!-- keyword is discarded, and all bytes until the end of the line --> <!-- are also discarded. --> <!-- --> <!-- If the specified header was present several times in the --> <!-- message, all occurences are concatenated (CRLF seperated) --> <!-- to be used in place of the '[last_*]' keyword. --> <!--send> <![CDATA[ SIP/2.0 100 Trying Record-Route: [$2] Record-Route: [$3] [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]> </send--> <send> <![CDATA[ SIP/2.0 180 Ringing Record-Route: [$2] Record-Route: [$3] Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]> </send> <send retrans="500"> <![CDATA[ SIP/2.0 200 OK Record-Route: [$2] Record-Route: [$3] [last_via] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: [len] v=0 o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] s= Kumartest c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio [media_port] RTP/AVP 0 101 13 o=FreeSWITCH 1728427243 1728427244 IN IP4 30.30.30.30 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:13 CN/8000 a=ptime:20 ]]> </send> <recv request="ACK" rtd="true" crlf="true"> </recv> <!-- Play an RTP Stream --> <nop> <action> <exec play_pcap_audio="playspeech.pcap"/> </action> </nop> <!--pause milliseconds="120000"/--> <recv request="BYE"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]> </send> <!-- Keep the call open for a while in case the 200 is lost to be --> <!-- able to retransmit it if we receive the BYE again. --> <!-- pause milliseconds="4000"/--> <!-- definition of the response time repartition table (unit is ms) --> <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> <!-- definition of the call length repartition table (unit is ms) --> <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> </scenario> Best Regards, KJM On Tue, Dec 10, 2024 at 12:12 PM Jyotirmaya Mohanty <jyotirmay...@gmail.com> wrote: > Hello Pavel, > > Could you please review my script an suggest the required changes. > > modified_reg_with_call.xml >> <?xml version="1.0" encoding="ISO-8859-1" ?> >> <!DOCTYPE scenario SYSTEM "sipp.dtd"> >> <scenario name="REGISTRATION with INCOMING CALL"> >> <send retrans="500"> >> <![CDATA[ >> REGISTER sip:[field1];transport=tls SIP/2.0 >> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] >> From: <sip:[field0]@[field1]>;tag=[call_number] >> To: <sip:[field0]@[field1]:[remote_port]> >> Call-ID: [call_id] >> CSeq: 1 REGISTER >> Contact: sip:[field0]@[local_ip]:[local_port] >> Max-Forwards: 5 >> Expires: 3600 >> Allow: >> INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY >> k: timer,path,replaces >> User-Agent: SIPp >> Content-Length: 0 >> ]]> >> </send> >> >> <recv response="401" auth="true"></recv> >> >> <send retrans="500"> >> <![CDATA[ >> REGISTER sip:[field1];transport=tls SIP/2.0 >> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] >> From: <sip:[field0]@[field1]>;tag=[call_number] >> To: <sip:[field0]@[field1]> >> Call-ID: [call_id] >> CSeq: 2 REGISTER >> Contact: sip:[field0]@[local_ip]:[local_port] >> [field2] >> Max-Forwards: 5 >> Expires: 3600 >> Allow: >> INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY >> k: timer,path,replaces >> User-Agent: SIPp >> Content-Length: 0 >> ]]> >> </send> >> >> <recv response="100" optional="true"></recv> >> <recv response="200"></recv> >> >> <recv request="INVITE" next="handle_INVITE"/> >> <label id="handle_INVITE"/> >> >> <send> >> <![CDATA[ >> SIP/2.0 100 Trying >> Record-Route: [$2] >> Record-Route: [$3] >> Via: [$4] >> Via: [$5] >> [last_From:] >> [last_To:] >> [last_Call-ID:] >> [last_CSeq:] >> Contact: <sip:[local_ip]:[local_port];transport=[transport]> >> Content-Length: 0 >> ]]> >> </send> >> >> <send> >> <![CDATA[ >> SIP/2.0 180 Ringing >> Record-Route: [$2] >> Record-Route: [$3] >> Via: [$4] >> Via: [$5] >> [last_From:] >> [last_To:];tag=[call_number] >> [last_Call-ID:] >> [last_CSeq:] >> Contact: <sip:[local_ip]:[local_port];transport=[transport]> >> Content-Length: 0 >> ]]> >> </send> >> >> <send retrans="500"> >> <![CDATA[ >> SIP/2.0 200 OK >> Record-Route: [$2] >> Record-Route: [$3] >> Via: [$4] >> Via: [$5] >> [last_From:] >> [last_To:];tag=[call_number] >> [last_Call-ID:] >> [last_CSeq:] >> Contact: <sip:[local_ip]:[local_port];transport=[transport]> >> Content-Type: application/sdp >> Content-Length: [len] >> >> v=0 >> o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] >> s= Kumartest >> c=IN IP[media_ip_type] [media_ip] >> t=0 0 >> m=audio [media_port] RTP/AVP 0 101 13 >> a=rtpmap:0 PCMU/8000 >> a=rtpmap:101 telephone-event/8000 >> a=fmtp:101 0-15 >> a=rtpmap:13 CN/8000 >> ]]> >> </send> >> >> <recv request="ACK" rtd="true" crlf="true"></recv> >> >> <nop> >> <action> >> <exec play_pcap_audio="playspeech.pcap"/> >> </action> >> </nop> >> >> <recv request="BYE"></recv> >> >> <send> >> <![CDATA[ >> SIP/2.0 200 OK >> [last_Via:] >> [last_From:] >> [last_To:] >> [last_Call-ID:] >> [last_CSeq:] >> Contact: <sip:[local_ip]:[local_port];transport=[transport]> >> Content-Length: 0 >> ]]> >> </send> >> >> <!-- Definition of the response time repartition table (unit is ms) --> >> <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> >> >> <!-- Definition of the call length repartition table (unit is ms) --> >> <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> >> </scenario> >> >> > On Mon, Dec 9, 2024 at 8:18 PM Šindelka Pavel <sinde...@ttc.cz> wrote: > >> Hello KJM, >> >> I'd suggest you to read >> https://sourceforge.net/p/sipp/mailman/message/34707334/ as it covers >> most of your issue. >> >> The use of TLS may complicate things further, though - I hazily remember >> that I had to patch something in the source code so that sipp could >> initiate outgoing TCP sessions and also expect incoming ones. But on the >> other hand, since you start by sending a REGISTER, the typical use case >> would be that the remote party would not create a new TCP session to >> deliver the INVITE to your scenario but rather reuse the existing one >> created by the REGISTER, so that patch may not be necessary. >> >> Pavel >> >> >> Dne 09.12.2024 v 14:48 Jyotirmaya Mohanty napsal(a): >> >> Hello Team, >> >> I have a query regarding SIPp script. want to REGISTER and Receive an >> incoming call on SIPp over TLS. Is it possible? >> >> Messages Retrans Timeout >> Unexpected-Msg >> REGISTER ----------> 1 0 0 >> 401 <---------- 1 0 0 0 >> REGISTER ----------> 1 0 0 >> 100 <---------- 1 0 0 0 >> 200 <---------- 1 0 0 0 >> INVITE <---------- 0 0 0 0 >> >> 100 ----------> 0 0 >> 180 ----------> 0 0 >> 200 ----------> 0 0 0 >> ACK <---------- E-RTD1 0 0 0 0 >> >> [ NOP ] >> BYE <---------- 0 0 0 0 >> 200 ----------> 0 0 >> ------- Waiting for active calls to end. Press [q] again to force exit. >> ------- >> >> >> My Registration is successful, but while receiving INVITE I am getting >> 2024-12-09 13:18:31.970086 1733750311.970086: Discarding message >> which can't be mapped to a known SIPp call: >> INVITE sip:user_KvwJyyyKuu@88.112.45.95:5069 >> <http://sip:user_KvwJyyyKuu@38.102.145.195:5069/> SIP/2.0 >> >> For UDP transport and if I ran separate script for REGISTER and INVITE >> UAS. It is working fine. >> >> Please let me know and Thanks in advance, how to run it for TLS >> >> Best Regards >> KJM >> >> >> _______________________________________________ >> Sipp-users mailing >> listSipp-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/sipp-users >> >> -- >> >> >> *Ing. Pavel Šindelka * senior specialista >> >> >> >> >> >> TTC MARCONI s. r. o. >> Třebohostická 987/5, 100 00 Praha 10 >> +420 234 051 712, +420 602 355 199 >> sinde...@ttc.cz, www.ttc-marconi.com >> >> _______________________________________________ >> Sipp-users mailing list >> Sipp-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/sipp-users >> >
_______________________________________________ Sipp-users mailing list Sipp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sipp-users