Hello,

it would be useful to know also the version of kamailio that is run
there. The latest release series should have a safety check in order to
prevent setting an invalid restored From/To URI.

On the other hand, if the UA doesn't preserve the From/To, then it
doesn't require to be unchanged, so the update (without auto restore) of
the From/To can be done only for initial INVITE, when UA takes the
caller/callee ids. For requests within the dialog, these headers can be
left unchanged or changed to something like anonymous@anonymous.invalid

The last option here, which is the safest, is to use dialog module
together with uac, so uac module stores the From/To values inside the
dialog and restores them from there, instead of relying on
record-routing and the masking algorithm for values.

Cheers,
Daniel


On 14.11.17 08:04, Julia Boudniatsky wrote:
> Hello,
>
> It looks like headers "From" in initial INVITE and received message
> are different.
>
> For example:
>  in INVITE : <sip:useragent7122@kamailio_address:5068>
>  in received message : <sip:useragent7122@kamailio_address>
>
> When you use header "From" transformation (I see Route with vsf),
> restore may be correct only for exactly the same header "From".
> Check may be port number is missing/added in  received message header
> "From".
>
> Best regards,
> Julia
>
> On Mon, Nov 13, 2017 at 5:05 PM, Donat Zenichev
> <donat.zenic...@gmail.com <mailto:donat.zenic...@gmail.com>> wrote:
>
>     Hi community.
>     We experience the problem with malformed messages.
>
>     First of all, I want to say, that most of time kamailio works well
>     and nothing happens that can drop sessions.
>     But from time-to-time something changes (may be in the network)
>     and kamailio receives requests with malformed headers (To or From
>     hfs).
>
>     The schema:
>     uplinks -> kamailio <-> routing server (asterisk)
>
>     Malformed messages were received only from asterisk server.
>     Sip debug on asterisk showed that messages were transmitted
>     correctly and headers were nice.
>     But kamailio obtains changed (broken) packets or perhaps can't
>     read them properly.
>
>     How does it look like:
>     Nov 10 12:37:06 kamailio-name kamailio[965]: INFO: <script>: Going
>     to NATMANAGE for BYE from sip:useragent7122@kamailio_address:5068
>     (IP=wss:client_address:62881) -
>     R=sip:dialed_did_service@asterisk_address:50600
>     ID=1b0044070de406153bf0e4b84d6bb793@asterisk_address:50600
>     Nov 10 12:37:06 kamailio-name kamailio[965]: NOTICE: <script>:
>     Relaying request to <null> -
>     R=sip:dialed_did_service@asterisk_address:50600
>     ID=1b0044070de406153bf0e4b84d6bb793@asterisk_address:50600
>     Nov 10 12:37:06 kamailio-name kamailio[965]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[965]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[965]: ERROR: dialog
>     [dlg_cseq.c:89]: dlg_cseq_prepare_msg(): cannot parse FROM header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: dialog
>     [dlg_cseq.c:89]: dlg_cseq_prepare_msg(): cannot parse FROM header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: uac
>     [replace.c:783]: restore_uris_reply(): failed to find/parse FROM hdr
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: pv
>     [pv_core.c:465]: pv_get_from_attr(): cannot parse From header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: INFO: <script>: Skip
>     manage DEVICE_STATE for BYE from <null>
>     (IP=udp:asterisk_address:50600) with (200 - OK) - R=<null>
>     ID=1b0044070de406153bf0e4b84d6bb793@asterisk_address:50600
>     Nov 10 12:37:06 kamailio-name kamailio[937]: INFO: <script>:
>     ------------------------------------MANAGE BYE by
>     DEVICE_STATE_BYE_MANAGE route - 200 - OK M=BYE
>     IP=udp:asterisk_address:50600
>     ID=1b0044070de406153bf0e4b84d6bb793@asterisk_address:50600
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: pv
>     [pv_core.c:465]: pv_get_from_attr(): cannot parse From header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: rtpengine
>     [rtpengine_funcs.c:331]: get_from_tag(): failed to parse From header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: rtpengine
>     [rtpengine.c:2252]: rtpp_function_call(): can't get From tag
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: pv
>     [pv_core.c:465]: pv_get_from_attr(): cannot parse From header
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_addr_spec.c:719]: parse_addr_spec(): unexpected char
>     [<] in status 6: [<sip:useragent6] .
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: <core>
>     [parser/parse_from.c:75]: parse_from_header(): bad From header
>     [<sip:useragent6<+.w>;tag=jja7l45gd1]
>     Nov 10 12:37:06 kamailio-name kamailio[937]: ERROR: pv
>     [pv_core.c:465]: pv_get_from_attr(): cannot parse From header
>
>     How the packet looks like:
>     ACK
>     
> sip:tt7etmau@bb0pd5t63b26.invalid;alias=client_address~57573~6;transport=ws
>     SIP/2.0
>     Via: SIP/2.0/UDP asterisk_address:50600;branch=z9hG4bK117106ca;rport
>     Route:
>     
> <sip:kam2.domain.com:5068;nat=yes;transport=udp;r2=on;ftag=as06869a5d;lr=on;vsf=AAAAAEZZSVVDVV1VRBlUUkUpFQxdVUZYXiRCHU1RQl1HRVNaXhhAQ3RuLnR3aWxpby5jb20-;vst=AAAAAAAAAAAAAAAAAAAAAAAfBwQRQE8NBR9BChIFAwddCgADFEVDQlYudHdpbGlvLmNvbQ--;did=b0c.7331>,<sip:kam2.callision.com:5068
>     
> <http://kam2.callision.com:5068>;nat=yes;transport=ws;r2=on;ftag=as06869a5d;lr=on;vsf=AAAAAEZZSVVDVV1VRBlUUkUpFQxdVUZYXiRCHU1RQl1HRVNaXhhAQ3RuLnR3aWxpby5jb20-;vst=AAAAAAAAAAAAAAAAAAAAAAAfBwQRQE8NBR9BChIFAwddCgADFEVDQlYudHdpbGlvLmNvbQ--;did=b0c.7331>
>     Max-Forwards: 70
>     From: "19172423539 <tel:%28917%29%20242-3539>" <sip:19172423539
>     <tel:%28917%29%20242-3539>@asterisk_address:50600>;tag=as06869a5d
>     To: <sip:useragent7122@10.0.1.18:5068
>     <http://sip:useragent7122@10.0.1.18:5068>>;tag=nmv7kmpau3
>     Contact: <sip:19172423539
>     <tel:%28917%29%20242-3539>@asterisk_address:50600>
>     Call-ID: 629d5a132c194c536b5f5c1a2a3c6e32@asterisk_address:50600
>     CSeq: 102 ACK
>     User-Agent: asterisk PBX
>     Content-Length: 0
>
>
>     The transport is used to send messages between asterisk and
>     kamailio is TCP.
>     TCP configurations:
>     tcp_connection_lifetime=3604
>     tcp_accept_no_cl=yes
>     tcp_connect_timeout=5
>     tcp_send_timeout=5
>     tcp_rd_buf_size=16384
>     tcp_keepalive=yes
>     tcp_crlf_ping=yes
>     tcp_keepcnt=3
>     tcp_keepidle=30
>     tcp_keepintvl=15
>     tcp_max_connections=4096 
>
>     I found the idea, that we need to change following parameters:
>     modparam("uac","restore_mode","auto")
>     modparam("uac","restore_dlg",1)
>
>     to:
>     modparam("uac","restore_mode","none")
>     modparam("uac","restore_dlg",0)
>
>     I did that, now it looks like all is fine, but I think it can get
>     back.
>     Thanks in advance.
>
>
>
>     -- 
>     -- 
>     BR, Donat Zenichev
>     Wnet VoIP team
>     Tel Ukraine:  +380(44) 5-900-800
>     Tel USA: +164(67) 8-174-17
>     https://w-net.us/ <http://wnet.ua>
>
>     _______________________________________________
>     Kamailio (SER) - Users Mailing List
>     sr-users@lists.kamailio.org <mailto:sr-users@lists.kamailio.org>
>     https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>     <https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users>
>
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com
Kamailio World Conference - www.kamailioworld.com

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to