Hello, I'm trying to test a Henning's tutorial for Teams SBC described here: https://skalatan.de/en/blog/kamailio-sbc-teams. A minor change at the MS Teams setup is just about the login. Now it requires MFA.The license I used is : Microsoft 365 developer subscriptions (E5).The domanin dv-sbc.openabrik.com is added + 1 user PS> Connect-MicrosoftTeams (MFA)PS> New-CsOnlinePSTNGateway -Fqdn dev-sbc.openfabrik.com -SipSignalingPort 5061 -MaxConcurrentSessions 10 -ForwardCallHistory $true -Enabled $true Everything seems to be OK at MS Teams side. I'm using the Kamailio coming with Kazoo. Version 5.2.5[root@dev-sbc kamailio]# kamailio -versionversion: kamailio 5.2.5 (x86_64/linux) flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, 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_BLACKLIST, HAVE_RESOLV_RESADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MBpoll method support: poll, epoll_lt, epoll_et, sigio_rt, select.id: unknown compiled on 01:14:59 Nov 19 2019 with gcc 7.3.1
When Kamailio is probing MS Teams, the log shows the following errors (for the 3 GW): hG4bKc188.6a606040000000000000000000000000.0#015#012To: sip:sip2.pstnhub.microsoft.com;transport=tls#015#012From: sip:dev-sbc.openfabrik.com;tag=d9a52ca041d9e6253dd2a7d5399056e3-2f56#015#012CSeq: 10 OPTIONS#015#012Call-ID: 4ed99b8a73a96dcd-10234@155.138.140.233#015#012Max-Forwards: 70#015#012Content-Length: 0May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: <core> [core/tcp_main.c:618]: _wbufq_add(): (517 bytes): write queue full or timeout (0, total 1100374016, last write 41683154 s ago)May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: <core> [core/tcp_main.c:2673]: tcpconn_1st_send(): 52.114.76.76:5061: EAGAIN and write queue full or failed for 0x7fce434db860May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: tm [../../core/forward.h:293]: msg_send_buffer(): tcp_send failedMay 9 01:26:17 dev-sbc kamailio[10234]: ERROR: tm [uac.c:648]: send_prepared_request_impl(): Attempt to send to precreated request failedMay 9 01:26:17 dev-sbc kamailio[10234]: INFO: <script>: Sent out tm request to Teams: OPTIONS sip:sip.pstnhub.microsoft.com;transport=tls SIP/2.0#015#012Via: SIP/2.0/TLS 155.138.140.233:5061;branc config: tls.cfg [server:default]method = TLSv1.2+verify_certificate = yesrequire_certificate = yesprivate_key = /etc/letsencrypt/live/openfabrik.com/privkey.pemcertificate = /etc/letsencrypt/live/openfabrik.com/fullchain.pemca_list = /etc/letsencrypt/live/openfabrik.com/bc2025.pemserver_name = dev-sbc.openfabrik.com [client:default]method = TLSv1.2+verify_certificate = yesrequire_certificate = yesprivate_key = /etc/letsencrypt/live/openfabrik.com/privkey.pemcertificate = /etc/letsencrypt/live/openfabrik.com/fullchain.pemca_list = /etc/letsencrypt/live/openfabrik.com/bc2025.pem ==== event_route[tm:local-request]{ setflag(FLAG_LOCAL_REQUEST); if(is_method("OPTIONS") && $ru =~ "pstnhub.microsoft.com") { append_hf("Contact: sip:dev-sbc.openfabrik.com:5061;transport=tls\r\n"); xlog("L_INFO", "Sent out tm request to Teams: $mb\n"); } xlog("L_DEBUG", "$ci|local|start $pr request $rm $ou\n"); xlog("L_DEBUG", "$ci|local|source $si:$sp -> $dd:$dp\n"); xlog("L_DEBUG", "$ci|local|from $fu\n"); xlog("L_DEBUG", "$ci|local|to $tu\n"); #!ifdef SIP_TRACE_ROLE route(SIP_TRACE); #!endif #!ifdef PRESENCE_ROLE route(PRESENCE_LOCAL_REQUEST); #!endif } ====# setid(integer) destination(sip uri) flags (integer, optional), priority(int,opt), attrs (str,optional)kamctl dispatcher add 2 'sip:sip.pstnhub.microsoft.com;transport=tls' 0 3 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com'kamctl dispatcher add 3 'sip:sip2.pstnhub.microsoft.com;transport=tls' 0 2 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com'kamctl dispatcher add 4 'sip:sip3.pstnhub.microsoft.com;transport=tls' 0 1 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com' [root@dev-sbc kamailio]# kamctl dispatcher showdispatcher gatewayssqlite_query: /usr/bin/sqlite3 /etc/kazoo/kamailio/db/kazoo.db select * FROM dispatcher ORDER BY setid; 1|1|sip:155.138.140.233:11000|9|0|zone=local;profile=sipinterface_1;duid=243;node=freeswitch@dev-sbc.openfabrik.com|added by nodes role2|2|sip:sip.pstnhub.microsoft.com;transport=tls|0|3|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com|3|3|sip:sip2.pstnhub.microsoft.com;transport=tls|0|2|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com|4|4|sip:sip3.pstnhub.microsoft.com;transport=tls|0|1|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com|
Is it a bug on the Kamailio 5.2.5 release or Do I miss something? Thanks, Victor
Hello Victor,
just a generic comment about the Kamailio version – if you start to create a new setup, you really should use the latest stable version of the 5.4.x branch. 5.2.x is already end of life.
About your specific issue, already looked into it with e.g. a network tracing tool?
Cheers,
Henning
-- Henning Westerholt – https://skalatan.de/blog/ Kamailio services – https://gilawa.comhttps://gilawa.com/
From: sr-users sr-users-bounces@lists.kamailio.org On Behalf Of Victor Velo Sent: Sunday, May 9, 2021 4:48 AM To: sr-users@lists.kamailio.org Subject: [SR-Users] MS Teams SBC
Hello,
I'm trying to test a Henning's tutorial for Teams SBC described here: https://skalatan.de/en/blog/kamailio-sbc-teams.
A minor change at the MS Teams setup is just about the login. Now it requires MFA. The license I used is : Microsoft 365 developer subscriptions (E5). The domanin dv-sbc.openabrik.com is added + 1 user
PS> Connect-MicrosoftTeams (MFA) PS> New-CsOnlinePSTNGateway -Fqdn dev-sbc.openfabrik.com -SipSignalingPort 5061 -MaxConcurrentSessions 10 -ForwardCallHistory $true -Enabled $true
Everything seems to be OK at MS Teams side.
I'm using the Kamailio coming with Kazoo. Version 5.2.5 [root@dev-sbc kamailio]# kamailio -version version: kamailio 5.2.5 (x86_64/linux) flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, 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_BLACKLIST, HAVE_RESOLV_RES 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 01:14:59 Nov 19 2019 with gcc 7.3.1
When Kamailio is probing MS Teams, the log shows the following errors (for the 3 GW):
hG4bKc188.6a606040000000000000000000000000.0#015#012To: sip:sip2.pstnhub.microsoft.com;transport=tls#015#012From: sip:dev-sbc.openfabrik.com;tag=d9a52ca041d9e6253dd2a7d5399056e3-2f56#015#012CSeq: 10 OPTIONS#015#012Call-ID: 4ed99b8a73a96dcd-10234@155.138.140.233#015#012Max-Forwardsmailto:4ed99b8a73a96dcd-10234@155.138.140.233#015#012Max-Forwards: 70#015#012Content-Length: 0 May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: <core> [core/tcp_main.c:618]: _wbufq_add(): (517 bytes): write queue full or timeout (0, total 1100374016, last write 41683154 s ago) May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: <core> [core/tcp_main.c:2673]: tcpconn_1st_send(): 52.114.76.76:5061: EAGAIN and write queue full or failed for 0x7fce434db860 May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: tm [../../core/forward.h:293]: msg_send_buffer(): tcp_send failed May 9 01:26:17 dev-sbc kamailio[10234]: ERROR: tm [uac.c:648]: send_prepared_request_impl(): Attempt to send to precreated request failed May 9 01:26:17 dev-sbc kamailio[10234]: INFO: <script>: Sent out tm request to Teams: OPTIONS sip:sip.pstnhub.microsoft.com;transport=tls SIP/2.0#015#012Via: SIP/2.0/TLS 155.138.140.233:5061;branc
config:
tls.cfg
[server:default] method = TLSv1.2+ verify_certificate = yes require_certificate = yes private_key = /etc/letsencrypt/live/openfabrik.com/privkey.pem certificate = /etc/letsencrypt/live/openfabrik.com/fullchain.pem ca_list = /etc/letsencrypt/live/openfabrik.com/bc2025.pem server_name = dev-sbc.openfabrik.com
[client:default] method = TLSv1.2+ verify_certificate = yes require_certificate = yes private_key = /etc/letsencrypt/live/openfabrik.com/privkey.pem certificate = /etc/letsencrypt/live/openfabrik.com/fullchain.pem ca_list = /etc/letsencrypt/live/openfabrik.com/bc2025.pem
====
event_route[tm:local-request] { setflag(FLAG_LOCAL_REQUEST);
if(is_method("OPTIONS") && $ru =~ "pstnhub.microsoft.com") { append_hf("Contact: sip:dev-sbc.openfabrik.com:5061;transport=tls\r\n"); xlog("L_INFO", "Sent out tm request to Teams: $mb\n"); }
xlog("L_DEBUG", "$ci|local|start $pr request $rm $ou\n"); xlog("L_DEBUG", "$ci|local|source $si:$sp -> $dd:$dp\n"); xlog("L_DEBUG", "$ci|local|from $fu\n"); xlog("L_DEBUG", "$ci|local|to $tu\n");
#!ifdef SIP_TRACE_ROLE route(SIP_TRACE); #!endif
#!ifdef PRESENCE_ROLE route(PRESENCE_LOCAL_REQUEST); #!endif
}
==== # setid(integer) destination(sip uri) flags (integer, optional), priority(int,opt), attrs (str,optional) kamctl dispatcher add 2 'sip:sip.pstnhub.microsoft.com;transport=tls' 0 3 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com' kamctl dispatcher add 3 'sip:sip2.pstnhub.microsoft.com;transport=tls' 0 2 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com' kamctl dispatcher add 4 'sip:sip3.pstnhub.microsoft.com;transport=tls' 0 1 'socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com'
[root@dev-sbc kamailio]# kamctl dispatcher show dispatcher gateways sqlite_query: /usr/bin/sqlite3 /etc/kazoo/kamailio/db/kazoo.db select * FROM dispatcher ORDER BY setid; 1|1|sip:155.138.140.233:11000|9|0|zone=local;profile=sipinterface_1;duid=243;node=freeswitch@dev-sbc.openfabrik.com|added by nodes role 2|2|sip:sip.pstnhub.microsoft.com;transport=tls|0|3|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com| 3|3|sip:sip2.pstnhub.microsoft.com;transport=tls|0|2|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com| 4|4|sip:sip3.pstnhub.microsoft.com;transport=tls|0|1|socket=tls:155.138.140.233:5061;ping_from=sip:dev-sbc.openfabrik.com|
Is it a bug on the Kamailio 5.2.5 release or Do I miss something?
Thanks,
Victor
Hello Henning, There is not much going on. The initial handshake is not even there. ssldump port 5061 -k /etc/letsencrypt/live/openfabrik.com/privkey.pem New TCP connection #3: dev-sbc.openfabrik.com(35795) <-> 52.114.132.46(5061)3 0.0244 (0.0244) C>S TCP RSTNew TCP connection #2: dev-sbc.openfabrik.com(38665) <-> 52.114.76.76(5061)2 0.0788 (0.0788) C>S TCP RSTNew TCP connection #1: dev-sbc.openfabrik.com(40740) <-> 52.114.7.24(5061)1 0.1967 (0.1967) C>S TCP RST
On Sunday, May 9, 2021, 03:22:48 a.m. EDT, Henning Westerholt hw@skalatan.de wrote:
#yiv5610585594 #yiv5610585594 -- _filtered {} _filtered {} _filtered {}#yiv5610585594 #yiv5610585594 p.yiv5610585594MsoNormal, #yiv5610585594 li.yiv5610585594MsoNormal, #yiv5610585594 div.yiv5610585594MsoNormal {margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv5610585594 a:link, #yiv5610585594 span.yiv5610585594MsoHyperlink {color:#0563C1;text-decoration:underline;}#yiv5610585594 span.yiv5610585594E-MailFormatvorlage19 {font-family:sans-serif;color:windowtext;}#yiv5610585594 .yiv5610585594MsoChpDefault {font-size:10.0pt;} _filtered {}#yiv5610585594 div.yiv5610585594WordSection1 {}#yiv5610585594 Hello Victor,
just a generic comment about the Kamailio version – if you start to create a new setup, you really should use the latest stable version of the 5.4.x branch. 5.2.x is already end of life.
About your specific issue, already looked into it with e.g. a network tracing tool?
Cheers,
Henning
Thanks for the Kamailio 5.4 tips. The version 5.4.5 works. Thanks, Victor
On Sunday, May 9, 2021, 03:22:48 a.m. EDT, Henning Westerholt hw@skalatan.de wrote:
#yiv5610585594 #yiv5610585594 -- _filtered {} _filtered {} _filtered {}#yiv5610585594 #yiv5610585594 p.yiv5610585594MsoNormal, #yiv5610585594 li.yiv5610585594MsoNormal, #yiv5610585594 div.yiv5610585594MsoNormal {margin:0cm;font-size:11.0pt;font-family:sans-serif;}#yiv5610585594 a:link, #yiv5610585594 span.yiv5610585594MsoHyperlink {color:#0563C1;text-decoration:underline;}#yiv5610585594 span.yiv5610585594E-MailFormatvorlage19 {font-family:sans-serif;color:windowtext;}#yiv5610585594 .yiv5610585594MsoChpDefault {font-size:10.0pt;} _filtered {}#yiv5610585594 div.yiv5610585594WordSection1 {}#yiv5610585594 Hello Victor,
just a generic comment about the Kamailio version – if you start to create a new setup, you really should use the latest stable version of the 5.4.x branch. 5.2.x is already end of life.
About your specific issue, already looked into it with e.g. a network tracing tool?
Cheers,
Henning