sip - Opensips byes rejected by client by 481 during redirection -
server opensips server 1.10.0-tls (linux). can handle conversations to/from local stations , has been updated allow stations external systems. changing username, ip , port in $ru if station doesn't exist locally ($tu untouched). works fine invites, calls , similar messages.
the problem i'm having byes coming external server, being passed on local client station, being rejected 481 (call leg/transaction not exist) can confirm coming client software, yet accepts byes local stations on same server without bother. calls local local end ok, calls local external shutdown ok, it's calls external caller local callee won't close (it callee saying 481).
i understand caused transaction matching not occurring due different in tags in to/from , call-id; understand (like $ru script) changes parts of $ru might have effect on hash determine transaction, don't change tags or callid, $ru name make go right ip , station name.
my question how go solving on server without changing client applications? i've included examples of messages being sent below taken wireshark capture on client workstation, i'm unsure i'm doing wrong..i've tried different things on server no luck. there way mark or tell client via sip messages shutdown conversation regardless of transaction matching?
i appreciate aid in i've been pulling hair out time.
message examples external caller (103 on server 5.44) local callee (local name wks2, external ref name 155, on server 3.3, client 3.0). first bye problem, second bye me closing hanging connection on client.
---------- invite sip:895eedf7-4256-44d0-9edf-39785b6ceef0@172.16.3.0:5050 sip/2.0 record-route: <sip:172.16.3.3;lr;ftag=as678f227c> via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bkd066.93df6e05.0 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk50029c58;rport=5060 max-forwards: 69 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c to: <sip:155@172.16.3.3:5060> contact: <sip:103@172.16.5.44:5060> call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 102 invite user-agent: asterisk pbx 1.8.13.1~dfsg1-3+deb7u3 date: thu, 25 jun 2015 14:27:31 gmt allow: invite, ack, cancel, options, bye, refer, subscribe, notify, info, publish supported: replaces, timer content-type: application/sdp content-length: 296 redirect-to: sip:wks2@172.16.3.3:5060 ---------- sip/2.0 180 ringing via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bkd066.93df6e05.0;received=172.16.3.3;rport=5060 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk50029c58;rport=5060 to: <sip:155@172.16.3.3:5060>;tag=1262186908 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 102 invite allow: ack, bye, cancel, info, invite, notify, options, refer, register, subscribe content-length: 0 ---------- sip/2.0 200 ok via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bkd066.93df6e05.0;received=172.16.3.3;rport=5060 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk50029c58;rport=5060 to: <sip:155@172.16.3.3:5060>;tag=1262186908 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 102 invite contact: <sip:172.16.3.0:5050> record-route: <sip:172.16.3.3;lr;ftag=as678f227c> server: www.sipsorcery.com content-length: 161 content-type: application/sdp ---------- ack sip:172.16.3.0:5050 sip/2.0 via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bkd066.93df6e05.2 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk49d179f0;rport=5060 max-forwards: 69 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c to: <sip:155@172.16.3.3:5060>;tag=1262186908 contact: <sip:103@172.16.5.44:5060> call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 102 ack user-agent: asterisk pbx 1.8.13.1~dfsg1-3+deb7u3 content-length: 0 ---------- bye sip:172.16.3.0:5050 sip/2.0 via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bke066.64948323.0 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk1e381a63;rport=5060 max-forwards: 69 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c to: <sip:155@172.16.3.3:5060>;tag=1262186908 call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 103 bye user-agent: asterisk pbx 1.8.13.1~dfsg1-3+deb7u3 x-asterisk-hangupcause: normal clearing x-asterisk-hangupcausecode: 16 content-length: 0 ---------- sip/2.0 481 calllegtransactiondoesnotexist via: sip/2.0/udp 172.16.3.3:5060;branch=z9hg4bke066.64948323.0;received=172.16.3.3;rport=5060 via: sip/2.0/udp 172.16.5.44:5060;received=172.16.5.44;branch=z9hg4bk1e381a63;rport=5060 to: <sip:155@172.16.3.3:5060>;tag=1262186908 from: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 103 bye allow: ack, bye, cancel, info, invite, notify, options, refer, register, subscribe content-length: 0 ---------- bye sip:103@172.16.5.44:5060 sip/2.0 via: sip/2.0/udp 172.16.3.0:5050;branch=z9hg4bkfe13e63d99524b06846bde0fedbd8a69;rport to: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c from: <sip:155@172.16.3.3:5060>;tag=1262186908 call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 103 bye max-forwards: 70 route: <sip:172.16.3.3;lr;ftag=as678f227c> content-length: 0 ---------- sip/2.0 481 call leg/transaction not exist via: sip/2.0/udp 172.16.3.0:5050;received=172.16.3.0;branch=z9hg4bkfe13e63d99524b06846bde0fedbd8a69;rport=5050 from: <sip:155@172.16.3.3:5060>;tag=1262186908 to: "station 103 " <sip:103@172.16.5.44>;tag=as678f227c call-id: 2697521655d00bab6de06a5941ddf8b4@172.16.5.44:5060 cseq: 103 bye server: asterisk pbx 1.8.13.1~dfsg1-3+deb7u3 allow: invite, ack, cancel, options, bye, refer, subscribe, notify, info, publish supported: replaces, timer content-length: 0 ----------
thank :-)
see comment above, issue client app following non-standard behaviour checking bye messages (it checked to, not to-tag). issue being resolved through client app change.
Comments
Post a Comment