[Kamailio-Users] nested redirect
Daniel-Constantin Mierla
miconda at gmail.com
Sun Oct 5 09:57:22 CEST 2008
Hello,
your main route block is something loke:
route {
if(is_method("INVITE"))
{
....
}
exit;
}
So, apart of INVITE, every other sip request is dropped.
See default config file to get a better understanding. kamailio/openser
discards by default any sip request received if there is no action to
forward for it.
Cheers,
Daniel
Kent Pirlo wrote:
> Attached is the full test config I am using.. I have gone back and forth trying a few things, but this is the latest.. If you have a another way to achieve the same result, I am open to change how I'm trying to do it.
>
> Thanks again for your help.
>
> Kent
>
>
> -----Original Message-----
> From: Daniel-Constantin Mierla [mailto:miconda at gmail.com]
> Sent: Tuesday, September 23, 2008 5:50 AM
> To: Kent Pirlo
> Cc: users
> Subject: Re: [Kamailio-Users] nested redirect
>
> Hello,
>
> sorry, you were right, there was a pcap attachment! The ACK looks ok.
> Seems that ACK is quickly discarded by the script. Is the config you
> pasted in your first email complete? I need to see it all the understand
> how the ack get's routed and where could be dropped by the config.
>
> Cheers,
> Daniel
>
>
>
> On 09/17/08 18:42, Kent Pirlo wrote:
>
>> 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;
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>>
--
Daniel-Constantin Mierla
http://www.asipto.com
More information about the Users
mailing list