Hello, we have faced an issue which appears when TOPOH module is enabled, call
is made from WebRTC client, then transferred by callee.
We have WebRTC client behind load balancer. We make call to softphone from
WebRTC, call from softphone is transferred to external number using Asterisk.
When call is hanged up on external number side, it doesn't hangs up on WebRTC
client side.
If TOPOH is not enabled, this issue doesn't occur.
We have the following TOPOH-related sections of kamailio.cfg:
<...>
#!ifdef WITH_TOPOH
loadmodule "topoh.so"
#!endif
<...>
<...>
#!ifdef WITH_TOPOH
modparam("topoh", "mask_key", "xxxxxxxxxxxxxxxx")
modparam("topoh", "mask_ip", "10.0.0.1")
modparam("topoh", "mask_callid", 0)
modparam("topoh", "sanity_checks", 1)
modparam("topoh", "uparam_prefix", "")
modparam("topoh", "vparam_prefix", "")
modparam("topoh", "callid_prefix", "1337")
#!endif
<...>
<...>
#!ifdef WITH_DIALOG
modparam("dialog", "db_url", DBURL)
modparam("dialog", "db_mode", 1)
modparam("dialog", "db_fetch_rows", 800)
modparam("dialog", "track_cseq_updates", 1)
modparam("dialog", "ka_interval", 30)
modparam("dialog", "ka_timer", 30)
modparam("dialog", "send_bye", 0)
modparam("dialog", "dlg_filter_mode", 1)
#!ifdef WITH_TOPOH
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
#!endif
#!endif
<...>
<...>
#!ifdef WITH_DISPATCHER
event_route[dispatcher:dst-up] {
sql_query("ds_dburl", "select description from dispatcher where
destination='$ru'", "ds_dbresult");
xlog("L_WARN", "Destination up: $ru, found name:
$dbr(ds_dbresult=>[0,0])\n");
prom_gauge_set("trunk_reachability", "1", "$ru",
"$dbr(ds_dbresult=>[0,0])");
}
event_route[dispatcher:dst-down] {
sql_query("ds_dburl", "select description from
dispatcher where destination='$ru'", "ds_dbresult");
xlog("L_WARN", "Destination down: $ru, found name:
$dbr(ds_dbresult=>[0,0])\n");
prom_gauge_set("trunk_reachability", "0", "$ru",
"$dbr(ds_dbresult=>[0,0])");
}
#!endif
#!ifdef WITH_TOPOH
event_route[topoh:msg-sending] {
if(is_reply() and $rs=="302") {
drop;
}
}
#!endif
(can provide the full config, if needed)
We are receiving the following errors:
On transfer:
https://pastebin.com/H3FQ4Kpj
On hangup from external number side:
https://pastebin.com/wgfRzGbd
On hangup from WebRTC client side:
https://pastebin.com/sE0yhBae
There are also differences in SIP traffic when TOPOH is disabled and when it is
enabled. With TOPOH enabled, apparently, ACK from Asterisk is not reaching
kamailio:
asterisk INVITE -> kamailio -> WebRTC
WebRTC 200 -> kamailio -> asterisk
asterisk ACK -> kamailio -> -> ->
(SIP flows attached - topoh_on.csv, topoh_off.csv)
kamailio -v
version: kamailio 5.6.1 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE,
USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC,
DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE,
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES,
TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024,
BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 09:11:15 Nov 15 2022 with gcc 9.3.0
We have dockerized kamailio running on Ubuntu 16.04.3 LTS
Docker version 18.03.1-ce, build 9ee9f40
Please advise where to start looking.
No.,Time,Source,Destination,Protocol,Length,Info
1,0,10.5.0.145,10.181.0.1,SIP/SDP,2835,Request: INVITE sip:[email protected] |
2,0.000507,10.181.0.1,10.5.0.145,SIP,454,Status: 407 Proxy Authentication Required |
3,0.060515,10.5.0.145,10.181.0.1,SIP,339,Request: ACK sip:[email protected] |
4,0.06178,10.5.0.145,10.181.0.1,SIP/SDP,3031,Request: INVITE sip:[email protected] |
5,1.558977,10.181.0.1,10.5.0.145,SIP,296,Status: 100 Trying |
6,1.622805,10.181.0.1,10.5.2.192,SIP/SDP,1725,Request: INVITE sip:[email protected] |
7,1.628094,10.5.2.192,10.181.0.1,SIP,638,Status: 100 Trying |
8,3.156038,10.5.2.192,10.181.0.1,SIP/SDP,1164,Request: INVITE sip:[email protected] |
9,3.159308,10.181.0.1,10.5.2.192,SIP,381,Status: 100 Trying |
10,3.162375,10.181.0.1,10.128.150.67,SIP/SDP,1472,Request: INVITE sip:[email protected]:39815;rinstance=df6d9c4d67a67bfd;transport=UDP |
11,3.28067,10.128.150.67,10.181.0.1,SIP,701,Status: 180 Ringing |
12,3.28303,10.181.0.1,10.5.2.192,SIP,646,Status: 180 Ringing |
13,3.28423,10.5.2.192,10.181.0.1,SIP,892,Status: 180 Ringing |
14,3.284551,10.181.0.1,10.5.0.145,SIP,778,Status: 180 Ringing |
15,4.617671,10.128.150.67,10.181.0.1,SIP/SDP,1224,Status: 200 OK (INVITE) |
16,4.628367,10.5.2.192,10.181.0.1,SIP,618,Request: ACK sip:[email protected]:39815;transport=UDP;rinstance=df6d9c4d67a67bfd;alias=10.128.150.67~39815~1 |
17,4.628807,10.181.0.1,10.5.2.192,SIP/SDP,1255,Status: 200 OK (INVITE) |
18,4.636014,10.181.0.1,10.128.150.67,SIP,591,Request: ACK sip:[email protected]:39815;transport=UDP;rinstance=df6d9c4d67a67bfd |
19,4.938087,10.5.2.192,10.181.0.1,SIP/SDP,1194,Status: 200 OK (INVITE) |
20,5.082669,10.181.0.1,10.5.0.145,SIP/SDP,1442,Status: 200 OK (INVITE) |
21,5.140474,10.5.0.145,10.181.0.1,SIP,574,Request: ACK sip:10.5.2.192:5060 |
22,5.147319,10.181.0.1,10.5.2.192,SIP,506,Request: ACK sip:10.5.2.192:5060 |
23,17.739364,10.5.2.192,10.181.0.1,SIP,618,Request: BYE sip:[email protected]:39815;transport=UDP;rinstance=df6d9c4d67a67bfd;alias=10.128.150.67~39815~1 |
24,18.239743,10.5.2.192,10.181.0.1,SIP,618,Request: BYE sip:[email protected]:39815;transport=UDP;rinstance=df6d9c4d67a67bfd;alias=10.128.150.67~39815~1 |
25,18.242309,10.181.0.1,10.128.150.67,SIP,591,Request: BYE sip:[email protected]:39815;transport=UDP;rinstance=df6d9c4d67a67bfd |
26,18.28955,10.128.150.67,10.181.0.1,SIP,584,Status: 200 OK (BYE) |
27,18.289859,10.181.0.1,10.5.2.192,SIP,501,Status: 200 OK (BYE) |
28,18.531342,10.5.2.192,10.181.0.1,SIP/SDP,1055,Request: INVITE sip:[email protected] |
29,18.531889,10.5.2.192,10.181.0.1,SIP/SDP,1210,"Request: INVITE sip:[email protected];transport=ws;ob;alias=10.5.0.145~42296~6, in-dialog | "
30,18.571092,10.181.0.1,10.5.2.192,SIP,381,Status: 100 Trying |
31,18.875735,10.181.0.1,10.5.2.192,SIP,366,Status: 100 Trying |
32,19.204158,10.181.0.1,10.5.0.145,SIP/SDP,1607,"Request: INVITE sip:[email protected];transport=ws;ob, in-dialog | "
33,19.323826,10.5.0.145,10.181.0.1,SIP/SDP,2576,Status: 200 OK (INVITE) |
34,19.340914,10.181.0.1,10.5.2.192,SIP/SDP,1233,Status: 200 OK (INVITE) |
35,19.341942,10.5.2.192,10.181.0.1,SIP,642,Request: ACK sip:[email protected];transport=ws;ob;alias=10.5.0.145~42296~6 |
36,19.344813,10.181.0.1,10.5.0.145,SIP,547,Request: ACK sip:[email protected];transport=ws;ob |
37,19.889216,10.5.2.192,10.181.0.1,SIP,713,Request: PRACK sip:193.xxx.xxx.xxx:5060 |
38,19.889641,10.181.0.1,10.5.2.192,SIP/SDP,1087,Status: 183 Session Progress |
39,20.112342,10.181.0.1,10.5.2.192,SIP,467,Status: 200 OK (PRACK) |
40,21.096845,10.181.0.1,10.5.2.192,SIP,825,Status: 183 Session Progress |
41,21.097879,10.5.2.192,10.181.0.1,SIP,713,Request: PRACK sip:193.xxx.xxx.xxx:5060 |
42,21.235981,10.181.0.1,10.5.2.192,SIP,467,Status: 200 OK (PRACK) |
43,26.393346,10.5.2.192,10.181.0.1,SIP,687,Request: ACK sip:193.xxx.xxx.xxx:5060 |
44,26.393974,10.181.0.1,10.5.2.192,SIP,878,Status: 200 OK (INVITE) |
45,37.483398,10.181.0.1,10.5.2.192,SIP,633,Request: BYE sip:[email protected]:5060 |
46,37.484314,10.5.2.192,10.181.0.1,SIP,544,Status: 200 OK (BYE) |
47,37.958061,10.5.2.192,10.181.0.1,SIP,642,Request: BYE sip:[email protected];transport=ws;ob;alias=10.5.0.145~42296~6 |
48,37.963923,10.181.0.1,10.5.0.145,SIP,547,Request: BYE sip:[email protected];transport=ws;ob |
49,38.010862,10.5.0.145,10.181.0.1,SIP,505,Status: 200 OK (BYE) |
50,38.018858,10.181.0.1,10.5.2.192,SIP,417,Status: 200 OK (BYE) |
No.,Time,Source,Destination,Protocol,Length,Info
1,0,10.5.0.145,10.181.0.1,SIP/SDP,2835,Request: INVITE sip:[email protected] |
2,0.035621,10.181.0.1,10.5.0.145,SIP,454,Status: 407 Proxy Authentication Required |
3,0.076551,10.5.0.145,10.181.0.1,SIP,339,Request: ACK sip:[email protected] |
4,0.076895,10.5.0.145,10.181.0.1,SIP,355,Request: ACK sip:[email protected] |
5,0.076978,10.5.0.145,10.181.0.1,SIP/SDP,3031,Request: INVITE sip:[email protected] |
6,0.970075,10.181.0.1,10.5.0.145,SIP,296,Status: 100 Trying |
7,1.29234,10.181.0.1,10.5.2.192,SIP/SDP,1883,Request: INVITE sip:[email protected] |
8,1.299018,10.5.2.192,10.181.0.1,SIP,755,Status: 100 Trying |
9,3.565692,10.5.2.192,10.181.0.1,SIP/SDP,1162,Request: INVITE sip:[email protected] |
10,3.568658,10.181.0.1,10.5.2.192,SIP,381,Status: 100 Trying |
11,3.573616,10.181.0.1,10.128.150.67,SIP/SDP,1584,Request: INVITE sip:[email protected]:36806;rinstance=c8745ce639a89260;transport=UDP |
12,3.687525,10.128.150.67,10.181.0.1,SIP,777,Status: 180 Ringing |
13,3.688157,10.181.0.1,10.5.2.192,SIP,698,Status: 180 Ringing |
14,3.68887,10.5.2.192,10.181.0.1,SIP,1009,Status: 180 Ringing |
15,3.690776,10.181.0.1,10.5.0.145,SIP,852,Status: 180 Ringing |
16,4.889427,10.128.150.67,10.181.0.1,SIP/SDP,1300,Status: 200 OK (INVITE) |
17,4.912056,10.181.0.1,10.5.2.192,SIP/SDP,1307,Status: 200 OK (INVITE) |
18,4.913305,10.5.2.192,10.181.0.1,SIP,670,Request: ACK sip:10.0.0.1;line=Bn7IpzhoVkhFykdIwzdTpc8QWj0JWzB9VDl8VklgBE7JBoXOxEW7UMV8WDy3lnKnVD7OpkhTWz0gC6iOxYWIxoiFUSSdKkAOxb7OBDFQVc8QVzHJVjKIwzlo-zVnpk0n-zd* |
19,4.92285,10.181.0.1,10.128.150.67,SIP,667,Request: ACK sip:[email protected]:36806;rinstance=c8745ce639a89260;transport=UDP |
20,5.283241,10.5.2.192,10.181.0.1,SIP/SDP,1312,Status: 200 OK (INVITE) |
21,5.289203,10.181.0.1,10.5.0.145,SIP/SDP,1517,Status: 200 OK (INVITE) |
22,5.329363,10.5.0.145,10.181.0.1,SIP,648,Request: ACK sip:10.0.0.1;line=Bn7IpzdIwzKJVR8Qpj19Wj0nV0** |
23,5.333439,10.181.0.1,10.5.2.192,SIP,572,Request: ACK sip:10.5.2.192:5060 |
24,18.535243,10.5.2.192,10.181.0.1,SIP,670,Request: BYE sip:10.0.0.1;line=Bn7IpzhoVkhFykdIwzdTpc8QWj0JWzB9VDl8VklgBE7JBoXOxEW7UMV8WDy3lnKnVD7OpkhTWz0gC6iOxYWIxoiFUSSdKkAOxb7OBDFQVc8QVzHJVjKIwzlo-zVnpk0n-zd* |
25,18.543787,10.181.0.1,10.128.150.67,SIP,667,Request: BYE sip:[email protected]:36806;rinstance=c8745ce639a89260;transport=UDP |
26,18.588203,10.128.150.67,10.181.0.1,SIP,660,Status: 200 OK (BYE) |
27,18.588411,10.181.0.1,10.5.2.192,SIP,545,Status: 200 OK (BYE) |
28,19.154516,10.5.2.192,10.181.0.1,SIP/SDP,1056,Request: INVITE sip:[email protected] |
29,19.155553,10.181.0.1,10.5.2.192,SIP,380,Status: 100 Trying |
30,19.155668,10.5.2.192,10.181.0.1,SIP/SDP,1306,"Request: INVITE sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlzAOxb7OBDFQVc83wz0JVjy3-zdDpkdF-zl*, in-dialog | "
31,19.158404,10.181.0.1,10.5.2.192,SIP,366,Status: 100 Trying |
32,19.163973,10.181.0.1,10.5.0.145,SIP/SDP,1720,"Request: INVITE sip:[email protected];transport=ws;ob, in-dialog | "
33,19.20608,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
34,19.209674,10.181.0.1,10.5.2.192,SIP/SDP,1321,Status: 200 OK (INVITE) |
35,19.210509,10.5.2.192,10.181.0.1,SIP,705,Request: ACK sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlH** |
36,19.485022,10.181.0.1,10.5.2.192,SIP/SDP,1161,Status: 183 Session Progress |
37,19.486252,10.5.2.192,10.181.0.1,SIP,789,Request: PRACK sip:10.0.0.1;line=Bn7IpzdGVT8QVDHJVjHGwz1TVkP3VklI |
38,19.514397,10.181.0.1,10.5.2.192,SIP,492,Status: 200 OK (PRACK) |
39,19.71613,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
40,19.722106,10.181.0.1,10.5.2.192,SIP/SDP,1321,Status: 200 OK (INVITE) |
41,19.722328,10.5.2.192,10.181.0.1,SIP,705,Request: ACK sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlH** |
42,20.716556,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
43,20.720136,10.181.0.1,10.5.2.192,SIP/SDP,1321,Status: 200 OK (INVITE) |
44,20.720989,10.5.2.192,10.181.0.1,SIP,705,Request: ACK sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlH** |
45,20.788776,10.181.0.1,10.5.2.192,SIP,899,Status: 183 Session Progress |
46,20.789119,10.5.2.192,10.181.0.1,SIP,789,Request: PRACK sip:10.0.0.1;line=Bn7IpzdGVT8QVDHJVjHGwz1TVkP3VklI |
47,20.817674,10.181.0.1,10.5.2.192,SIP,492,Status: 200 OK (PRACK) |
48,22.723406,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
49,22.726747,10.181.0.1,10.5.2.192,SIP/SDP,1321,Status: 200 OK (INVITE) |
50,22.7276,10.5.2.192,10.181.0.1,SIP,705,Request: ACK sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlH** |
51,23.03054,10.181.0.1,10.5.2.192,SIP,952,Status: 200 OK (INVITE) |
52,23.030891,10.5.2.192,10.181.0.1,SIP,764,Request: ACK sip:10.0.0.1;line=Bn7IpzdGVT8QVDHJVjHGwz1TVkP3VklI |
53,27.000211,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
54,30.760974,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
55,34.776766,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
56,38.780346,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
57,42.787775,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
58,46.798966,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
59,50.815795,10.5.0.145,10.181.0.1,SIP/SDP,2700,Status: 200 OK (INVITE) |
60,73.993884,10.181.0.1,10.5.2.192,SIP,730,Request: BYE sip:[email protected]:5060 |
61,73.994154,10.5.2.192,10.181.0.1,SIP,609,Status: 200 OK (BYE) |
62,74.33575,10.5.2.192,10.181.0.1,SIP,705,Request: BYE sip:10.0.0.1;line=Bn7IpYX546eIen3AybNFBDd8ez03ekORCRG5xYeOxb7hpoXTlMGDBbuTCk3oBDAqlH** |
63,74.349362,10.181.0.1,10.5.2.192,SIP,390,Status: 478 Unresolvable destination (478/SL) |
64,115.81197,10.5.0.145,10.181.0.1,SIP,680,Request: BYE sip:10.0.0.1;line=Bn7IpzdIwzKJVR8Qpj19Wj0nVkAOxb7OBDFQVc83wz1JVjhT-zKIWz.2Vy** |
65,116.174068,10.181.0.1,10.5.2.192,SIP,572,Request: BYE sip:10.5.2.192:5060 |
66,116.174884,10.5.2.192,10.181.0.1,SIP,559,Status: 481 Call/Transaction Does Not Exist |
67,116.180671,10.181.0.1,10.5.0.145,SIP,390,Status: 481 Call/Transaction Does Not Exist |
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe: