[Kamailio-Users] nested redirect

Kent Pirlo kentp at adbasesolutions.com
Wed Sep 17 17:42:27 CEST 2008


There should have been a 20k attachment.. redirect.cap.. from tethereal.
Let me know if you do not have it, and I will re-send it.

kent

-----Original Message-----
From: Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Sent: Wednesday, September 17, 2008 6:43 AM
To: Kent Pirlo
Cc: users
Subject: Re: [Kamailio-Users] nested redirect

Hello,

what you sent is the debug from kamailio/openser, which is useful, but I
would need the sip messages, you can use ngrep for that, do
ngrep -d any -qt -W byline port 5060

on your openser/kamailio server and send the output.

Thanks,
Daniel


On 09/17/08 02:22, Kent Pirlo wrote:
> ... is my core switch,
> ... is my openser/Kamailio redirect server
> ... is a redirect server from a carrier of ours that returns a billing TN in contact header..
>
>
> Here is the debug of the incoming ACK from the core switch after being sent the 300...
>
>
> Sep 16 15:49:50 [6505] DBG:core:parse_msg: SIP Request:
> Sep 16 15:49:50 [6505] DBG:core:parse_msg:  method:  <ACK>
> Sep 16 15:49:50 [6505] DBG:core:parse_msg:  uri:     <sip:... at ...>
> Sep 16 15:49:50 [6505] DBG:core:parse_msg:  version: <SIP/2.0>
> Sep 16 15:49:50 [6505] DBG:core:parse_headers: flags=2
> Sep 16 15:49:50 [6505] DBG:core:parse_to_param: tag=391854ebdd4d0c63cf50836cbb12191e-6708
> Sep 16 15:49:50 [6505] DBG:core:parse_to: end of header reached, state=29
> Sep 16 15:49:50 [6505] DBG:core:parse_to: display={},
> Sep 16 15:49:50 [6505] DBG:core:get_hdr_field: <To> [75];
> Sep 16 15:49:50 [6505] DBG:core:get_hdr_field: to body
> Sep 16 15:49:50 [6505] DBG:core:get_hdr_field: cseq <CSeq>: <1> <ACK>
> Sep 16 15:49:50 [6505] DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bKdce3ac34730f843a5a9b9c7002690f22>; state=16
> Sep 16 15:49:50 [6505] DBG:core:parse_via: end of header reached, state=5
> Sep 16 15:49:50 [6505] DBG:core:parse_headers: via found, flags=2
> Sep 16 15:49:50 [6505] DBG:core:parse_headers: this is the first via
> Sep 16 15:49:50 [6505] DBG:core:receive_msg: After parse_msg...
> Sep 16 15:49:50 [6505] DBG:core:receive_msg: preparing to run routing scripts...
> Sep 16 15:49:50 [6505] DBG:sl:sl_filter_ACK: to late to be a local ACK!
> Sep 16 15:49:50 [6505] DBG:core:destroy_avp_list: destroying list (nil)
> Sep 16 15:49:50 [6505] DBG:core:receive_msg: cleaning up
>
>
>
>
> -----Original Message-----
> From: Daniel-Constantin Mierla [mailto:miconda at gmail.com]
> Sent: Tuesday, September 16, 2008 5:10 AM
> To: kentp at globalpops.com
> Cc: users at lists.kamailio.org
> Subject: Re: [Kamailio-Users] nested redirect
>
> Hello,
>
> can you post here the SIP messages? Will help to spot if there is
> anything wrong with the ACK or something else in the signaling.
>
> Cheers,
> Daniel
>
>
> On 09/13/08 04:11, kentp at globalpops.com wrote:
>
>> i have a simple redirect server working:
>>
>> Call comes from switch (A) to kamailio redirect server (B)..
>> (B) runs perl script to determine route
>> (B) sends Stateless 300 redirect reply to (A).
>> (A) sends ACK to (B).
>>
>> Now, I need to add a nested redirect...
>>
>> call comes from sitch (A) to kamailio redirect server (B)..
>> (B) then needs to send the call to third party proxy (C)..
>> (C) will return 302 redirect..
>> (B) sends ACK to (C)
>> (B) needs to read the contact header, then run perl script to determine route (using the contact value
>> returned from (c))
>> (B) then sends 300 redirect back to (A).
>> (A) sends ACK back to (B)
>>
>>
>> so far i have been trying something like this, but the final (A) ACK gets ignored and (B) keeps sending
>> multiple 300's to (A):
>>
>> route {
>>       route(1);
>> }
>>
>> route[1] {
>>               t_on_reply("1");
>>               t_on_failure("2");
>>               if (!t_relay("proxy.server.c:5060","0x02")) {
>>                               sl_reply_error();
>>               }
>> onreply_route[1] {
>>         if(t_check_status("302")){
>>                 $var(lrn_from_bv) = $ct;
>>         }
>> }
>> failure_route[2] {
>>
>>         if (t_check_status("3[0-9][0-9]")) {
>>                 route(2);
>>                 exit;
>>         }
>> route[2] {
>>               if(perl_exec("callcheck")){
>>                       avp_pushto("$ru", "$avp(s:routes)/g");
>>                       t_reply("300","Go Here");
>>                       exit;
>>               }
>>         }
>>
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.kamailio.org
>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>
> --
> Daniel-Constantin Mierla
> http://www.asipto.com
>

--
Daniel-Constantin Mierla
http://www.asipto.com





More information about the Users mailing list