[SR-Users] Problem with forward on busy
LAA
ornitorrinco7424 at gmail.com
Thu Jul 25 17:56:34 CEST 2013
I have checked that I'm , experiencing the same problem when the
redirection to voicemail is originated by the destination UAC via 302
message. Kamailio sends the packet to the destination UAC, even when I set
$du to null.
??¿?¿?¿¿??¿
if ($rU=~"^voicemail.*") {
$du = $null;
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";
$du = $null;
route(RELAY);
exit;
}
Conv.| Time | 192.168.3.20 |
192.168.0.167 |
| | | 192.168.0.197 |
0 |3,574 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095 at 192.168.0.197
To:sip:4440 at 192.168.0.197
| |(5060) ------------------> (5060) | |
0 |3,575 | 407 Proxy Authentication Required
| |SIP Status
| |(5060) <------------------ (5060) | |
0 |3,577 | ACK | |
|SIP Request
| |(5060) ------------------> (5060) | |
0 |3,577 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095 at 192.168.0.197
To:sip:4440 at 192.168.0.197
| |(5060) ------------------> (5060) | |
0 |3,584 | 100 trying -- your call is important to
us | |SIP Status
| |(5060) <------------------ (5060) | |
0 |3,585 | | INVITE SDP (
telephone-event) |SIP Request
| | |(5060) ------------------> (5060) |
0 |3,587 | | 100 Trying|
|SIP Status
| | |(5060) <------------------ (5060) |
0 |3,587 | | 302 Moved Temporarily
|SIP Status
| | |(5060) <------------------ (5060) |
0 |3,588 | | ACK |
|SIP Request
| | |(5060) ------------------> (5060) |
0 |3,592 | 302 Moved Temporarily |
|SIP Status
| |(5060) <------------------ (5060) | |
0 |3,594 | ACK | |
|SIP Request
| |(5060) ------------------> (5060) | |
-----------------------------------------------------------------------------
1 |3,596 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095 at 192.168.0.197
To:sip:voicemail4440 at 192.168.0.167:5060
| |(5060) ------------------> (5060) | |
1 |3,596 | 407 Proxy Authentication Required
| |SIP Status
| |(5060) <------------------ (5060) | |
1 |3,600 | ACK | |
|SIP Request
| |(5060) ------------------> (5060) | |
1 |3,601 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095 at 192.168.0.197
To:sip:voicemail4440 at 192.168.0.167:5060
| |(5060) ------------------> (5060) | |
1 |3,608 | 100 trying -- your call is important to
us | |SIP Status
| |(5060) <------------------ (5060) | |
1 |3,608 | | INVITE SDP (
telephone-event) |SIP Request
| | |(5060) ------------------> (5060) |
1 |3,608 | | 404 Not Found
|SIP Status
| | |(5060) <------------------ (5060) |
1 |3,609 | | ACK |
|SIP Request
| | |(5060) ------------------> (5060) |
1 |3,614 | 404 Not Found |
|SIP Status
| |(5060) <------------------ (5060) | |
1 |3,615 | ACK | |
|SIP Request
| |(5060) ------------------> (5060) | |
2013/7/25 LAA <ornitorrinco7424 at gmail.com>
> OK, Daniel and thanks for your help,
>
> I see that you don't append brach but you are calling route(RELAY) instead
> of t_relay() directly. I have tryed with this configuration within failure
> route:
>
>
> 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");
> rewritehostport("192.168.0.197:5080");
> $du = $null;
> #append_branch();
> route(RELAY);
> #t_relay();
>
> }
> }
>
> And kamailio gets into a strange behavior
>
> |Time | 192.168.3.20 |
> 192.168.0.167 |
> | | | 192.168.0.197 |
> |3,366 | INVITE SDP ( telephone-event)
> | |SIP From: sip:4095 at 192.168.0.197
> To:sip:4440 at 192.168.0.197
> | |(5060) ------------------> (5060) | |
> |3,370 | 407 Proxy Authentication Required
> | |SIP Status
> | |(5060) <------------------ (5060) | |
>
> |3,380 | ACK | | |SIP
> Request
> | |(5060) ------------------> (5060) | |
> |3,382 | INVITE SDP ( telephone-event)
> | |SIP From: sip:4095 at 192.168.0.197
> To:sip:4440 at 192.168.0.197
> | |(5060) ------------------> (5060) | |
> |3,393 | 100 trying -- your call is important to us
> | |SIP Status
> | |(5060) <------------------ (5060) | |
> |3,394 | | INVITE SDP (
> telephone-event) |SIP Request
> | | |(5060) ------------------> (5060) |
> |3,395 | | 100 Trying| |SIP
> Status
> | | |(5060) <------------------ (5060) |
> |3,395 | | 486 Busy Here |SIP
> Status
> | | |(5060) <------------------ (5060) |
> |3,398 | | ACK | |SIP
> Request
> | | |(5060) ------------------> (5060) |
> |3,416 | 500 I'm terribly sorry, server error occurred
> ...SL) | |SIP Status
> | |(5060) <------------------ (5060) | |
> |3,416 | 486 Busy Here | |SIP
> Status
> | |(5060) <------------------ (5060) | |
> |3,418 | ACK | | |SIP
> Request
> | |(5060) ------------------> (5060) | |
> |3,418 | ACK | | |SIP
> Request
> | |(5060) ------------------> (5060) | |
> |3,872 | 486 Busy Here | |SIP
> Status
> | |(5060) <------------------ (5060) | |
> |3,873 | ACK | | |SIP
> Request
> | |(5060) ------------------> (5060) | |
> |4,875 | 486 Busy Here | |SIP
> Status
> | |(5060) <------------------ (5060) | |
> |4,876 | ACK | | |SIP
> Request
> | |(5060) ------------------> (5060) | |
>
>
> Are you using this sequence within failure route? or in the call routing
> section? I'm using this sequence in the route section that is working OK:
>
> if ($rU=~"^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";
> route(RELAY);
> exit;
> }
>
> The problem is when I try to get a call forwarded by kamailio to voice
> mail when it gets a busy message to the destination message. In your
> implementation are you expecting a 302 (temporary unavailable) message from
> the destination UAC?
>
> Regards.
>
> L.
>
>
>
>
> 2013/7/25 Daniel Tryba <daniel at pocos.nl>
>
>> On Thursday 25 July 2013 16:30:21 you wrote:
>>
>> > 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");
>> > rewritehostport("192.168.0.197:5080");
>> > $du = $null;
>> > #$du = "sip:192.168.0.197";
>> > #append_branch();
>> > t_relay();
>>
>> Taking a look at my config which I found to work after the long struggle
>> you
>> are experiencing right now.
>>
>> if($avp(dst_voicemail))
>> {
>> $du=$null;
>> $ru = "sip:tovm-" + $avp(dst_voicemail) + "@" +
>> $sel(cfg_get.voicemail.srv_ip) + ":" + $sel(cfg_get.voicemail.srv_port);
>> route(RELAY);
>>
>> exit;
>> }
>>
>> Which effectively sets $du to null (if not null the message would get
>> relayed
>> to the original destination (the proxy itself)) and rewrites $ru to
>> something
>> like
>> "sip:tovm-0123456789 at voicemail:5060"
>> and then just do the normal relay route to deliver the message. Your *_hf
>> shouldn't have any effect on routing.
>>
>> --
>>
>> POCOS B.V. - Croy 9c - 5653 LC Eindhoven
>> Telefoon: 040 293 8661 - Fax: 040 293 8658
>> http://www.pocos.nl/ - http://www.sipo.nl/
>> K.v.K. Eindhoven 17097024
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130725/fd316cf0/attachment-0001.html>
More information about the sr-users
mailing list