Hi,

> 180 Ringing uses [last_Via:] but in the trace, I can see all the Via header values comma separated, instead of CRLF and the "Via:" prepended.

Header: item1, item2

and

Header: item1
Header: item2

are fully equivalent. So unless the device under test has a bug preventing it from handling a comma-separated list of Via uris, this is also not the reason of your trouble.


> I​ think if this is resolved, valid values will appear in the [routes]​

Via: has nothing to do with [routes]. [routes] expands to a list of routes received in Record-Route in the opposite direction (if rrs="true" was used), with Route: as a header name.

example:

incoming INVITE:

Record-Route: route1, route2
Record-Route: route3

200 to that INVITE regardless whether rrs=true was used and [last_Record-Route:] is present in the 200's source code:
Record-Route: route1, route2, route3

outgoing BYE if

Route: route1, route2, route3

P.


Dne 25.8.2016 v 9:56 Owais Ahmad napsal(a):
I missed that. The ack is correctly being sent in response to the 200 OK.
I further debugged, there are two issues:
180 Ringing uses [last_Via:] but in the trace, I can see all the Via header values comma separated, instead of CRLF and the "Via:" prepended.

I
​ think if this is resolved, valid values will appear in the [routes]​



On Thu, Aug 25, 2016 at 12:43 PM, sindelka <sinde...@ttc.cz <mailto:sinde...@ttc.cz>> wrote:

    Hello Ahmad?Owais (sorry, both may be used as first names),

     > UAS receives an ACK in response to its 180 Ringing

    sending ACK upon reception of 180 is too early - only reception of a
    final response (i.e. with response codes 200 and above) is to be
    confirmed by an ACK. So modify your scenario accordingly and
    you'll be fine.

     > Record routes are only being added in INVITE packets although I use
    rrs="true" in recv and I add [routes] in all subsequent send
    sections.​

    That's a misunderstanding.
    First, SIPp doesn't add anything automatically to the messages. So if
    you want the record-route header(s) to be present in the ACK your
    scenario sends, you must place them to the source code of the ACK,
    like
    you did in the INVITE.
    Second, rrs="true" is an attribute of <recv request>, allowing to
    store
    the route set received in an incoming request for use in outgoing
    requests. To mirror the record-route header in the response to an
    incoming request, [last_Record-Route:] keyword is used, as with any
    other header which needs to be copied from the request to the
    response.
    Only for upstream requests you need to copy the route list previously
    received in Record-Route into the Route header of the outgoing
    request.
    So in an UAC scenario, you basically never need to use rrs. In an UAS
    one, you use rrs="true" when receiving requests, and if you want
    to send
    a BYE yourself, you have to put the keyword [routes] into the source
    code of the BYE. If there was a Record-Route header in the last
    received
    request with rrs="true", your BYE will contain a properly filled
    Route:
    header; if there wasn't, there will be no Route: header, nor an empty
    line. The same applies for [last_Record-Route] in the responses. So it
    is safe to make your scenarios universal this way, regardless whether
    the remote party uses Record-Route headers in its requests or not.

    Pavel



    
------------------------------------------------------------------------------
    _______________________________________________
    Sipp-users mailing list
    Sipp-users@lists.sourceforge.net
    <mailto:Sipp-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/sipp-users
    <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

Reply via email to