had the same issue here. you have to manually set $du=$null, else it doesn't get reset for the failure branch.
On 7/23/13, LAA <ornitorrinco7...@gmail.com> wrote: > Hi all, > > I'm running Kamailio 3.0.0, with SEMS integration as Media Server for Voice > mail. I'm trying to get a configuration to forward calls on busy to voice > mail. I have followed without success some examples. I'm using > revert_uri(), rewritehostport() and append_branch(), within failure_route. > It seems to be modifying R-URI properly, and generating the new branch, but > Kamailio is sending the new invite packet to the IP address of the original > destination UAC, and not to the IP address of the voicemail, that was > indicated in the R-URI. Here you can see the packet flow: > > |Time | 192.168.3.20 > | 192.168.0.167 | > | | | 192.168.0.197 | > |5,069 | INVITE SDP ( telephone-event) > | |SIP From: sip:4095@192.168.0.197 > To:sip:4440@192.168.0.197 > | |(5060) ------------------> (5060) | | > |5,071 | 407 Proxy Authentication Required > | |SIP Status > | |(5060) <------------------ (5060) | | > |5,074 | ACK | | |SIP > Request > | |(5060) ------------------> (5060) | | > |5,076 | INVITE SDP ( telephone-event) > | |SIP From: sip:4095@192.168.0.197 > To:sip:4440@192.168.0.197 > | |(5060) ------------------> (5060) | | > |5,084 | 100 trying -- your call is important to us > | |SIP Status > | |(5060) <------------------ (5060) | | > |5,085 | | INVITE SDP ( > telephone-event) |SIP Request > | | |(5060) ------------------> (5060) | > |5,088 | | 100 Trying| |SIP > Status > | | |(5060) <------------------ (5060) | > |5,088 | | 486 Busy Here |SIP > Status > | | |(5060) <------------------ (5060) | > |5,091 | | ACK | |SIP > Request > | | |(5060) ------------------> (5060) | > |5,101 | | INVITE SDP ( > telephone-event) |SIP Request > | | |(5060) ------------------> (5060) | > |5,102 | | 404 Not Found |SIP > Status > | | |(5060) <------------------ (5060) | > |5,102 | | ACK | |SIP > Request > | | |(5060) ------------------> (5060) | > |5,103 | 404 Not Found | |SIP > Status > | |(5060) <------------------ (5060) | | > |5,106 | ACK | | |SIP > Request > | |(5060) ------------------> (5060) | | > > And the RAW capture of the INVITE message in timestamp 5,101. > > > > No. Time Source Destination Protocol > Info > 1235 5.100698 192.168.0.197 192.168.0.167 SIP/SDP > Request: INVITE sip:voicemail4440@192.168.0.197:5080, with session > description > > Frame 1235 (1151 bytes on wire, 1151 bytes captured) > Ethernet II, Src: CadmusCo_96:31:84 (08:00:27:96:31:84), Dst: > Micro-St_6d:77:54 (00:21:85:6d:77:54) > Internet Protocol, Src: 192.168.0.197 (192.168.0.197), Dst: 192.168.0.167 > (192.168.0.167) > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > Session Initiation Protocol > Request-Line: INVITE sip:voicemail4440@192.168.0.197:5080 SIP/2.0 > Method: INVITE > Request-URI: sip:voicemail4440@192.168.0.197:5080 > [Resent Packet: True] > [Suspected resend of frame: 1233] > Message Header > Record-Route: <sip:192.168.0.197;lr=on;nat= > yes> > Via: SIP/2.0/UDP 192.168.0.197;branch=z9hG4bKafce.403718a6.1 > Via: SIP/2.0/UDP > 192.168.57.20;received=192.168.3.20;rport=5060;branch=z9hG4bK0a00030f0000003151ed60b85ec2c3de000000c8 > Content-Length: 386 > Contact: <sip:4095@192.168.3.20:5060> > Call-ID: 8EAF9EC2-1DD2-11B2-B110-C84E476664B0@10.0.3.15 > Content-Type: application/sdp > CSeq: 2 INVITE > From: "4095"<sip:4095@192.168.0.197>;tag=121754238352072516 > Max-Forwards: 69 > To: <sip:4440@192.168.0.197> > User-Agent: SJphone/1.60.299a/L (SJ Labs) > P-App-Name: voicemail > P-App-Param: mod=box;usr= voicemail4440;dom=sipproxy.a.com > ;uid=voicemail4440;did=sipproxy.a.com; > Message Body > > Here you can see the failure_route in my kamailio.cfg file: > > # Sample failure route > failure_route[FAIL_ONE] { > #ifdef WITH_NAT > if (is_method("INVITE") > && (isbflagset("6") || isflagset(5))) { > unforce_rtp_proxy(); > } > #endif > > if (t_is_canceled()) { > exit; > } > > # uncomment the following lines if you want to block client > # redirect based on 3xx replies. > ##if (t_check_status("3[0-9][0-9]") > ) { > ##t_reply("404","Not found"); > ## exit; > ##} > > # uncomment the following lines if you want to redirect the failed > # calls to a different new destination > if (t_check_status("486|408")) { > revert_uri(); > prefix("voicemail"); > remove_hf("P-App-Name"); > append_hf("P-App-Name: voicemail\r\n"); > append_hf("P-App-Param: mod=box;usr= $rU;dom=sipproxy.a.com > ;uid=$rU;did=sipproxy.a.com;\r\n"); > $ru = "sip:" + $rU + "@" + "192.168.0.197:5080"; > #rewritehostport("192.168.0.197:5080"); > #append_branch("sip:4888@192.168.0.102"); > append_branch(); > # do not set the missed call flag again > t_relay(); > } > } > > Has anybody experienced this problem? Any help would be wellcome > > Best Regards > > LAA > _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users