[Spce-user] Error on ROUTE_OUTBOUND, REPLY_ROUTE_STD and REPLY_ROUTE_NAT

Raúl Alexis Betancor Santana rabs at dimension-virtual.com
Tue Nov 4 04:39:34 EST 2014


After doing tests on mr3.5.1, I found that the code for allow_info_method and allow_refer_method on the mentioned routes, produce a malformed SIP package that the UA's refuses.

Looking deeply on it ... the only diference I found is that after calling exclude_hf_value function ... you call msg_apply_changes ... but when doing the same with the SST and the ICE candidates sections ... you don't do a msg_apply_changes.

Well ... on the kamailio-log this appears after doing the msg_apply_changes:

2014-11-03T17:40:03.391022+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391028+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:917]: lumps_len(): FIXME: lumps_len called with null send_sock
2014-11-03T17:40:03.391037+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391042+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391047+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391060+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391067+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:1467]: process_lumps(): FIXME: process_lumps: null bind_address
2014-11-03T17:40:03.391072+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391077+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket
2014-11-03T17:40:03.391083+01:00 sipapp01 proxy[24251]: : <core> [msg_translator.c:521]: lump_check_opt(): ERROR: lump_check_opt: null send socket


And from then on ... the sip message get malformed, because the upper most RR get corrupted, losing it IP and port, and apears like:

Record-Route: <sip:;r2=on;lr=on;ftag=1743994789>

Instead of:

Record-Route: <sip:[SIP_INT];r2=on;lr=on;ftag=1743994789> that was just before doing the call to msg_apply_changes.

On the other routes that use the exclude_hf_value, there is no call to msg_apply_changes ... and all seems ok.

Also, this have only fails with one UA I have ... that it's behind NAT, but other UA behind NAT doesn't get affected.

Best regards



More information about the Spce-user mailing list