[SR-Users] Problem with forward on busy

hiro 23hiro at gmail.com
Tue Jul 23 21:40:17 CEST 2013


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 <ornitorrinco7424 at 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 at 192.168.0.197
> To:sip:4440 at 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 at 192.168.0.197
> To:sip:4440 at 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 at 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 at 192.168.0.197:5080 SIP/2.0
>         Method: INVITE
>         Request-URI: sip:voicemail4440 at 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 at 192.168.3.20:5060>
>         Call-ID: 8EAF9EC2-1DD2-11B2-B110-C84E476664B0 at 10.0.3.15
>         Content-Type: application/sdp
>         CSeq: 2 INVITE
>         From: "4095"<sip:4095 at 192.168.0.197>;tag=121754238352072516
>         Max-Forwards: 69
>         To: <sip:4440 at 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 at 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
>



More information about the sr-users mailing list