I don't use the [routes] keyword anywhere in any .xml file (neither UAC nor 
UAS).
I tried the manual "Record-Route" in '200 OK' response of UAS, but the problem 
remains.


Does anybody know if I have to use the 'rrs' attribute somehow in the XML
senario files ?


thanks for any new hint,
Kostas

Victor L wrote:
> Hello Kostas,
>  
> Here's a problem I ran into - it could be related to what you are seeing:
>  
> In my case, the proxy (media server also configured with it), is
> supposed to ACK as soon as it receives a 200 OK. However, it would not
> work until I figured that I was using the [routes] keyword while
> composing the 200 OK message. This keyword extracted the Record-Route
> header from the original header and converted it to a Route header. This
> is not supported by SIP. A 200 OK message should preserve the
> Record-Route headers. As soon as I added the Record-Route headers
> manually and stopped using the [routes] keyword, I got my scenario
> working. Verify if this is the case in your scenario.
>  
> Hope this helps.
> 
> Vic
>  
> On 9/20/06, *Kostas Marneris* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Hello all,
> 
>     I run the basic UAC senario in Host A (1.1.1.1 <http://1.1.1.1>) and
>     the basic UAS senario in Host B ( 2.2.2.2 <http://2.2.2.2>).
>     I have a SER SIP Proxy in the middle (3.3.3.3 <http://3.3.3.3>).
> 
> 
>     UAC :
>     ./sipp -sn uac -r 1 -m 1 -d 5000 -i 1.1.1.1 <http://1.1.1.1>  
>     3.3.3.3 <http://3.3.3.3>
> 
> 
>     UAS :
>     ./sipp -sn uas
> 
> 
>     SER.cfg  :
> 
>     I use the following hack in ser.cfg, because the default user
>     'service' is not
>     actually registered in Location DB.
> 
>     # In INVITE handler ..
>     ...
> 
>            # --- SIPP hack ---
>            if (uri =~ "^sip:[EMAIL PROTECTED]:5060") {
>                    rewritehostport("2.2.2.2:5060 <http://2.2.2.2:5060>");
>                    route(1);
>                    break;
>            };
>            # -----------------
> 
> 
>     # In MAIN Route Block
>     # ---------------------
>     Nothing changed from 'default SER behaviour' :
> 
>            if ((method != "REGISTER") && (method != "OPTIONS")) {
>                    log(1, " Add RR");
>                    record_route();
>            };
> 
> 
>            if (loose_route()) {
>                    route(1);
>                    break;
>            };
> 
> 
> 
> 
>     Where is the problem :
>     It seems that SER doesn't recognize (in the dialog) the ACK sent by
>     the UAC (Host A),
>     do does not relay it to the UAS. The UAS continues to send '200
>     OK'... so I can't make it
>     to have a 'full call setup simulation senario'.
> 
>     Call Flow :
> 
>     HOST A (UAC)            SER             HOST B (UAS)
>                ----------->                                        (1)
>     INVITE
>                <-----------                                        (2)
>     100 Trying
>                              -------------->                       (3)
>     INVITE
>                              <-------------                        (4)
>     180 Ringing
>                <-----------                                        (5)
>     180 Ringing
>                              <-------------                        (6)
>     200 OK
>                <-----------                                        (7)
>     200 OK
>                ----------->                                        (8) ACK
> 
>                              <-------------                        (9)
>     200 OK
>                ----------->                                        (10) ACK
>     ....
>     ....
> 
>     The first ACK (8) from UAC to SER doesn't relayed to UAS,
>     so UAS keeps sending '200 OK'...
> 
> 
>     This ACK doesn't go through the 'loose_route()' block because SER thinks
>     that this ACK is not in the dialog.
>     Even if I add the following code in MAIN route block,
>     SER insists to absorb this ACK request.
>            ...
>            } else if (method == "ACK") {
>                    # ACK mesgs --> route[1]
>                    log(1," * ACK -- not in the DIALOG --");
>                    route(1);
>                    break;
>            } else if ...
> 
> 
> 
>     Do you find something wrong in SER conf ?
>     or do you have any idea why this happening ?
> 
> 
>     thank you
>     Kostas
> 

-------------------------------------------------------------------------
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

Reply via email to