Hello,

This is not happening when the request is redirected to wesip, using:

route[1] {
    if(!as_relay_t("app_server_one")){
        t_reply("500","Application Server error");
    }
}


The request printed in the wesip debug logs have the route.

But if I don't redirect the request to wesip and use the following:

route[2] {
    xlog ("L_INFO", "$rm: cseq:$cs $ru: RELAYING (PROXY) to $du (flags: $mF) ...\n");
    if (!t_relay()) {
        sl_reply_error();
    };
    exit;

}

I see that openser removes the top most Route header.

Am I doing something wrong?

Thanks

On 4/27/07, Daniel-Constantin Mierla <daniel@voice-system.ro> wrote:
Hello,

openser via loose_route() will remove top most Route header if it is
added by the proxy (matches local IP addresses and aliases).

Cheers,
Daniel


On 04/27/07 15:54, Jose Antonio Garvayo wrote:
> Hi,
>
> I have testing openser 1.2.0 with seas module and wesip.
>
> If I send an INVITE message with a Route header, the SIP servlet
> receives the INVITE with the full Route Header, and when I proxy it
> the Route is the same, but I expected that the top most Route header
> has been removed. Who is in charge to do it? openser or wesip? I first
> thought it might be openser through loose_route(), but it seems not to
> be the case.
>
> The openser cfg file is similar to the example given in wesip tutorial:
>
> route{
>        if (!mf_process_maxfwd_header("10")) {
>                sl_send_reply("483","Too Many Hops");
>                exit;
>        };
>        if (msg:len >=  2048 ) {
>                sl_send_reply("513", "Message too big");
>                exit;
>        };
>
>     xlog("L_INFO",  "$rm: ci=$ci ft=$ft tt=$tt cseq=$cs ruri:$ru
> received from: $si:$sp \n");
>
>         if (!method=="REGISTER")
>                 record_route();
>
>         if (loose_route()) {
>         xlog("L_INFO", "RR enforced\n");
>                 append_hf("P-hint: rr-enforced\r\n");
>                 route(1);
>         };
>
>         if (uri==myself) {
>         xlog("L_INFO", "uri == myself");
>                 if (method=="REGISTER") {
>                         save("location");
>                         exit;
>                 };
>                 lookup("aliases");
>                 if (!uri==myself) {
>             xlog("L_INFO", "outbound alias\n");
>                         append_hf("P-hint: outbound alias\r\n");
>                         route(1);
>                 };
>                 if (!lookup("location")) {
>                         sl_send_reply("404", "Not Found");
>                         exit;
>                 };
>         xlog("L_INFO", "usrloc applied\n");
>                 append_hf("P-hint: usrloc applied\r\n");
>         };
>         route(1);
> }
>
> route[1] {
>     if(!as_relay_t("app_server_one")){
>         t_reply("500","Application Server error");
>     }
> }
>
> route[2] {
>     xlog ("L_INFO", "$rm: cseq:$cs $ru: RELAYING (PROXY) to $du
> (flags: $mF) ...\n");
>     if (!t_relay()) {
>         sl_reply_error();
>     };
>     exit;
>
> }
>
> This the log from wesip:
>
> 14:43:37 27abr2007  DEBUG SeasMessageEvent [SeasRouter]- New message
> received, from 10.161.14.10:6025 <http://10.161.14.10:6025> to
> 10.161.14.10:7000 <http://10.161.14.10:7000 > over UDP
> 14:43:37 27abr2007  DEBUG SeasTransactionEvent [SeasRouter]-
> hash_index = 60870,label=1842040723 flags=0
> 14:43:37 27abr2007  DEBUG ExpressMessageChannel [ExpressMChannel[76]]-
> peerAddress = 10.161.14.10/6025 <http://10.161.14.10/6025>
> 14:43:37 27abr2007  DEBUG ExpressMessageChannel [ExpressMChannel[76]]-
> About to process INVITE sip:user2@mot.net <mailto:sip:user2@mot.net>
> SIP/2.0
> 14:43:37 27abr2007  DEBUG SipConnector [ExpressMChannel[76]]-
> createProcessor: Reusing existing processor
> 14:43:37 27abr2007  INFO  SipProcessor [ExpressMChannel[76]]-  An
> incoming message is being assigned
> 14:43:37 27abr2007  DEBUG ExpressMessageChannel [ExpressMChannel[76]]-
> Done processing INVITE sip:user2@mot.net <mailto:sip:user2@mot.net>
> SIP/2.0
> 14:43:37 27abr2007  DEBUG SipProcessor [SipProcessor[3]]-  <<<<<<<<<
> Request Received <<<<<<<<<
> INVITE sip:user2@mot.net <mailto:sip:user2@mot.net > SIP/2.0
> Via: SIP/2.0/UDP 10.161.14.10:6025
> <http://10.161.14.10:6025>;branch= z9hG4bK1-13972359389@10.161.14.101
> <mailto:z9hG4bK1-13972359389@10.161.14.101>
> Contact: <sip:10.161.14.10:6025 <http://10.161.14.10:6025>;transport=UDP>
> Max-Forwards: 14
> From: <sip:user1@mot.net <mailto: sip:user1@mot.net>>;tag=6661
> To: <sip:user2@mot.net <mailto:sip:user2@mot.net >>
> Supported: 100rel
> Route: <sip:10.161.14.10:7000
> <http://10.161.14.10:7000>;lr=on>,<sip: 10.161.14.10:6025
> <http://10.161.14.10:6025>;lr=on>
> Call-ID: 1-13972359389@10.161.14.10 <mailto: 1-13972359389@10.161.14.10>
> CSeq: 1 INVITE
> Allow: INVITE,CANCEL,ACK,BYE,UPDATE,MESSAGE,PRACK,REFER
> Content-Type: application/sdp
> Content-Length: 337
>
>
> 14:43:37 27abr2007  DEBUG SeasHashTable [SipProcessor[3]]- Inserting
> hashIdx:60870 label:1842040723 into hashTable
> 14:43:37 27abr2007  DEBUG SipProcessor [SipProcessor[3]]- Transaction
> [ z9hG4bK1-13972359389@10.161.14.101
> <mailto:z9hG4bK1-13972359389@10.161.14.101>] is new Transaction?? --> true
> 14:43:37 27abr2007  DEBUG EngineSipMapper [SipProcessor[3]]- Request
> from 10.161.14.10 <http://10.161.14.10> mapped to:
> ConvergedEngine[Standalone].StandardHttpHost[localhost]
> 14:43:37 27abr2007  DEBUG ConvergedEngineValve [SipProcessor[3]]-
> Invoking Host:localhost
> 14:43:37 27abr2007  DEBUG ConvergedHostValve [SipProcessor[3]]-
> SipSession not found for requestINVITE, trying match against Rules
> 14:43:37 27abr2007  DEBUG ConvergedHost [SipProcessor[3]]- Mapped
> request to:/sampleservlet
> 14:43:37 27abr2007  DEBUG ConvergedContextValve [SipProcessor[3]]- new
> session created : 1-13972359389@10.161.14.10
> <mailto: 1-13972359389@10.161.14.10>
> 14:43:37 27abr2007  INFO  ExpressMessageChannel [SipProcessor[3]]-
> Creating Express message channel 10.161.14.10/7000
> <http://10.161.14.10/7000>
> 14:43:37 27abr2007  DEBUG ExpressMessageChannel [SipProcessor[3]]-
> setting spiral=false
> 14:43:37 27abr2007  DEBUG SipRequest [SipProcessor[3]]-  >>>>>>>>>
> Sending Request >>>>>>>>>
>  INVITE sip:user2@mot.net <mailto:sip:user2@mot.net > SIP/2.0
> Max-Forwards: 14
> From: <sip:user1@mot.net
> <mailto:sip:user1@mot.net>>;tag=83FBA2EBC5A9EE4615D194DECA1EE955
> To: <sip:user2@mot.net <mailto:sip:user2@mot.net>>
> Supported: 100rel
> Route: <sip: 10.161.14.10:7000
> <http://10.161.14.10:7000>;lr=on>,<sip:10.161.14.10:6025
> < http://10.161.14.10:6025>;lr=on>
> CSeq: 1 INVITE
> Allow: INVITE,CANCEL,ACK,BYE,UPDATE,MESSAGE,PRACK,REFER
> Content-Type: application/sdp
> Call-ID: 1-13972359389@10.161.14.10 <mailto:1-13972359389@10.161.14.10>
> Contact: <sip:10.161.14.10:7000 < http://10.161.14.10:7000>;transport=udp>
> P-AS-Hint: B2BUA
> Via: SIP/2.0/UDP 10.161.14.10:7000
> <http://10.161.14.10:7000 >;branch=z9hG4bK2137041384
> Content-Length: 337
>
>
>
>
> Thanks in advance
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users@openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>