Hi Franz, thanks for the files! I'll run some test in the next days...
Some issues I've found in your scenarios: 1. The Service-Router should not be in the 401 but in the 200 2. The initial Route header is not only the content of the Service-Route header but the uri of the P-CSCF + the Service-Route header 3. The BYE transaction is not finished by an ACK (ACKs are only part of INVITE transactions) 4. You can/should use the same call id for the first and the second REGISTER Enrico Franz Edler wrote: > Hi Enrico, > > >> I wonder whether anybody has already faced the problem of a needed Route >> header in the INVITE message like IMS demands it? >> This means that the Service-Route header returned in the registration >> process is supposed to be used as part of the Route header for all >> following call initiations. Has anybody found a way to do this with SIPp? >> > > I have attached the 3 scenario files that I use with Open Source IMS: > > - reg-invite-bob-net1-alice-net1-client.xml: the combined registration and > call-setup file of BoB as a UAclient > - register-alice-net1.xml: registration of Alice > - invite-bob-alice-server.xml: call-setup file of Alice as a UAserver > > I used "ereg regexp ..." to extract the Service-Route header and inject it > as Route header and also used the prepend-string "///" to arrange different > Call-IDs. > > cheers > -franz > > ------------------------------------------------------------------------ > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <!DOCTYPE scenario SYSTEM "sipp.dtd"> > > > <scenario name="registration and simple IMS session setup, client side"> > > <send retrans="500"> > <![CDATA[ > REGISTER sip:net1.test SIP/2.0 > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > Max-Forwards: 20 > From: "bob" <sip:[EMAIL PROTECTED]>;tag=[call_number] > To: "bob" <sip:[EMAIL PROTECTED]> > P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E > Call-ID: reg1///[call_id] > CSeq: 1 REGISTER > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Expires: 300 > Content-Length: 0 > User-Agent: Sipp v1.1-TLS, version 20061124 > Authorization: Digest username="[EMAIL PROTECTED]", realm="net1.test" > Supported: path > ]]> > </send> > > <recv response="401" auth="true" rtd="true"> > <action> > <ereg regexp=".*" search_in="hdr" header="Service-Route" assign_to="1" /> > </action> > </recv> > > <send retrans="500"> > <![CDATA[ > REGISTER sip:net1.test SIP/2.0 > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > Route: [$1] > Max-Forwards: 20 > From: "bob" <sip:[EMAIL PROTECTED]>;tag=[call_number] > To: "bob" <sip:[EMAIL PROTECTED]> > P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E > Call-ID: reg2///[call_id] > CSeq: 1 REGISTER > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Expires: 300 > Content-Length: 0 > User-Agent: Sipp v1.1-TLS, version 20061124 > [authentication [EMAIL PROTECTED] password=bob] > Supported: path > ]]> > </send> > > <recv response="200"> > </recv> > > <pause milliseconds="5000" crlf="true" /> > > <send retrans="500"> > <![CDATA[ > INVITE sip:[EMAIL PROTECTED] SIP/2.0 > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > Max-Forwards: 20 > Route: [$1] > P-Preferred-Identity: <sip:[EMAIL PROTECTED]> > Privacy: none > P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > To: <[EMAIL PROTECTED]> > Call-ID: call1///[call_id] > CSeq: 10 INVITE > Supported: 100rel > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > User-Agent: Sipp v1.1-TLS, version 20061124 > Allow: ACK, BYE, CANCEL, INVITE, REFER, OPTIONS, INFO, REGISTER, NOTIFY, > UPDATE, SUBSCRIBE, PRACK > Content-Type: application/sdp > Content-Length: [len] > > v=0 > o=user1 53655765 2353687637 IN IP4 [local_ip] > s=- > c=IN IP4 [local_ip] > t=0 0 > m=audio 30000 RTP/AVP 0 8 > a=rtpmap:0 PCMU/8000 > a=sendrecv > ]]> > </send> > > <recv response="100" optional="true"> > </recv> > > <recv response="180" optional="true"> > </recv> > > <recv response="408" optional="true" next="1"> > </recv> > > <recv response="200" rrs="true"> > </recv> > > <send crlf="true"> > <![CDATA[ > ACK [next_url] SIP/2.0 > [last_Via:] > Max-Forwards: 20 > [routes:] > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > [last_To:] > Call-ID: call1///[call_id] > CSeq: 10 ACK > Content-Length: 0 > ]]> > </send> > > <pause milliseconds="5000" crlf="true" /> > > <send retrans="500"> > <![CDATA[ > BYE sip:[next_url] SIP/2.0 > [last_Via:] > Max-Forwards: 20 > [routes:] > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > [last_To:] > Call-ID: call1///[call_id] > CSeq: 11 BYE > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Content-Length: 0 > ]]> > </send> > > <recv response="200" crlf="true" next="2"> > </recv> > > <label id="1"/> > > <send crlf="true"> > <![CDATA[ > ACK sip:[EMAIL PROTECTED] SIP/2.0 > [last_Via:] > Max-Forwards: 20 > [routes:] > From: <sip:[EMAIL PROTECTED]>;tag=[call_number] > [last_To:] > Call-ID: call1///[call_id] > CSeq: 10 ACK > Content-Length: 0 > ]]> > </send> > > <label id="2"/> > > <!-- definition of the response time repartition table (unit is ms) --> > <ResponseTimeRepartition value="10, 20"/> > > <!-- definition of the call length repartition table (unit is ms) --> > <CallLengthRepartition value="10"/> > > </scenario> > > > ------------------------------------------------------------------------ > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <!DOCTYPE scenario SYSTEM "sipp.dtd"> > > <scenario name="registration"> > > <send retrans="500"> > <![CDATA[ > REGISTER sip:net1.test SIP/2.0 > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > Max-Forwards: 20 > From: "alice" <sip:[EMAIL PROTECTED]>;tag=[call_number] > To: "alice" <sip:[EMAIL PROTECTED]> > P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E > Call-ID: reg1///[call_id] > CSeq: 1 REGISTER > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Expires: 300 > Content-Length: 0 > User-Agent: Sipp v1.1-TLS, version 20061124 > Authorization: Digest username="[EMAIL PROTECTED]", realm="net1.test" > Supported: path > ]]> > </send> > > <recv response="401" auth="true" rtd="true"> > <action> > <ereg regexp=".*" search_in="hdr" header="Service-Route" assign_to="1" /> > </action> > </recv> > > <send retrans="500"> > <![CDATA[ > REGISTER sip:net1.test SIP/2.0 > Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] > Route: [$1] > Max-Forwards: 20 > From: "alice" <sip:[EMAIL PROTECTED]>;tag=[call_number] > To: "alice" <sip:[EMAIL PROTECTED]> > P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E > Call-ID: reg2///[call_id] > CSeq: 1 REGISTER > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Expires: 300 > Content-Length: 0 > User-Agent: Sipp v1.1-TLS, version 20061124 > [authentication [EMAIL PROTECTED] password=alice] > Supported: path > ]]> > </send> > > <recv response="200"> > </recv> > > <ResponseTimeRepartition value="10, 20"/> > <CallLengthRepartition value="10"/> > > </scenario> > > > ------------------------------------------------------------------------ > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <!DOCTYPE scenario SYSTEM "sipp.dtd"> > > > <scenario name="simple IMS session setup, server-side"> > > <recv request="INVITE"> > </recv> > > <send> > <![CDATA[ > SIP/2.0 180 Ringing > [last_Via:] > [last_Record-Route:] > [last_From:] > [last_To:];tag=[call_number] > [last_Call-ID:] > [last_CSeq:] > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Content-Length: 0 > ]]> > </send> > > <pause milliseconds="2000"/> > > <send retrans="500"> > <![CDATA[ > SIP/2.0 200 OK > [last_Via:] > [last_Record-Route:] > [last_From:] > [last_To:];tag=[call_number] > [last_Call-ID:] > [last_CSeq:] > Contact: <sip:[EMAIL PROTECTED]:[local_port]> > Allow: INVITE,REGISTER,ACK,BYE,INFO,REFER,NOTIFY,SUBSCRIBE,MESSAGE,CANCEL > Content-Type: application/sdp > Content-Length: [len] > > v=0 > o=- 53655765 2353687637 IN IP4 [local_ip] > s=- > c=IN IP4 [media_ip] > t=0 0 > m=audio 40000 RTP/AVP 8 0 18 > a=rtpmap:8 PCMA/8000 > a=rtpmap:0 PCMU/8000 > a=rtpmap:18 G729/8000 > ]]> > </send> > > <recv request="ACK" crlf="true"> > </recv> > > > <recv request="BYE"> > </recv> > > <send> > <![CDATA[ > SIP/2.0 200 OK > [last_Via:] > [last_From:] > [last_To:] > [last_Call-ID:] > [last_CSeq:] > Content-Length: 0 > ]]> > </send> > > </scenario> > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ------------------------------------------------------------------------ > > _______________________________________________ > Sipp-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/sipp-users > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Sipp-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sipp-users
