Are you calling msg apply changes after record_route()? Try to do
record_route() after since it tries to discover the outgoing local
interface which might not be set at that point.
Btw, is Kamailio bridging between two networks?
The output with '-E -ddd' will be helpful anyhow.
Cheers,
Daniel
On 3/24/11 8:25 AM, Spinov Evgeniy wrote:
On Thu, 2011-03-24 at 07:42 +0100, Daniel-Constantin
Mierla wrote:
Hello,
if you watch the SIP traffic with ngrep, do you see the message sent out?
First of
all I would like to thank you your time devoted to this
problem.
To not flood mail with long text, I've written it in short, without
fulldumps.
Messages are sent, however, for some reason Record-Route header look
like this:
Record-Route:<sip:;r2=on;lr=on;ftag=323895591>
Record-Route:<sip:KAMAILIO_IP;r2=on;lr=on;ftag=323895591>
i.e. first header is empty? I've called this header invalid in the rest
of the text.
Via header and rest of the packet looks good.
First part of exchange looks like this. Let's assume that I'm calling
from 100 to 101:
Kamailio<-> Asterisk
INVITE 100 -> 101 ( header is invalid )
<- 100 Trying ( header is invalid )
<- INVITE 101
100 Trying ->
180 Ringing ( header is invalid )->
At this stage 101 rings, however 100 is not getting "waiting" tone.
After call reply at 101:
OK 101 -> 100
101 <- ACK 100 ( header is invalid )
OK 101 -> 100
100 <- OK 101, header is invalid )
OK ( from 101 ) -> 100
100 <- OK ( from 101, header is invalid )
etc....
Looks like message is not being delivered correctly.
Can you reproduce this case easily? If yes, can
you start kamailio with
extra parameters '-E -ddd' and send here all the debug messages printed
for such case, from the moment the SIP request is received.
While on Kamailio side
in debug messages I have error regarding failure
of resolution host IP ";r2=on" from the SIP header.
So it seems, that Record-Router header is doing the mess.
Without msg_apply_changes() invalid Record route header just do not
appear.
If I've provided you not enough info to find out the reason, I can do
the full dumps, as problem is easily repeated.
Thank you.
Cheers,
Daniel
On 3/24/11 6:48 AM, Spinov Evgeniy wrote:
> On Wed, 2011-03-23 at 15:16 +0100, Daniel-Constantin Mierla wrote:
>
> Well, unfortunately no. When I use msg_apply_changes() and I see this
> messages, signalization doesn't work fine. Actually call is not being
> established - it's just getting timeouts from K and failure routes are
> being executed.
>
> As function is removed - everything runs good and calls are passing
> fine.
>
>> Hello,
>>
>> I have to look into the sources and doubel check, but the log messages
>> seem to be harmless.
>>
>> For the moment, you can just set a flag when you change something in the
>> message and then call msg_apply_changes() only when the flag is set, e.g.,
>>
>> remove_hf("From");
>> setflag(20);
>>
>> ...
>>
>> if(isflagset(20))
>> msg_apply_changes();
>>
>> However, I will update the sources so such log messages will not appear
>> unless they are necessary.
>>
>> Thanks,
>> Daniel
>>
>>
>> On 3/23/11 2:52 PM, Spinov Evgeniy wrote:
>>> Hi,
>>>
>>> I've installed, as you advised Kamailio 3.1.2 and used
>>> msg_apply_changes(). However, even when I'm not changing anything in the
>>> packet and just calling msg_apply_changes() I get errors from K:
>>>
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:859]: FIXME: lumps_len called
with
>>> null send_sock
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:1340]: FIXME: process_lumps:
null
>>> bind_address
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>> 7(31755) :<core> [msg_translator.c:519]: ERROR: lump_check_opt:
null
>>> send socket
>>>
>>> when function is not used - everything runs fine. However I need to
>>> modify the message.
>>>
>>> Please, advice.
>>>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users