Thanks Jashua for the suggestion. To find out if the issue was only
limited to the softphone that was using tls transport (SOFTPHONE_B on ext
103, a linphone running off my MBP), I also turned one of the hard phone
(f30A0A01 on ext 100, a Yealink T32G) into using tls transport. It
behaves similarly to the linphone in that the Hangup() call in dialplan is
silently ignored, and the handsets would alway appear as busy/unavilable.
Here're the relevant part of my /etc/asterisk/extensions.conf:
[globals]
; General internal dialing options used in context Dial-Users.
; Only the timeout is defined here. See the Dial app documentation for
; additional options.
INTERNAL_DIAL_OPT=,30
RP_Yealink = PJSIP/f30A0A01
RP_Cisco = PJSIP/f30B0B02
RP_HMBP = PJSIP/SOFTPHONE_A
RP_OMBP = PJSIP/SOFTPHONE_B
[sets]
exten => 100,1,Dial(${RP_Yealink},10,m)
same => n,Playback(vm-nobodyavail)
same => n,Hangup()
exten => 101,1,Dial(${RP_Cisco},10)
same => n,Playback(vm-nobodyavail)
same => n,Hangup()
exten => 102,1,Dial(${RP_HMBP})
exten => 103,1,Dial(${RP_OMBP},10)
same => n,Playback(vm-nobodyavail)
same => n,Hangup()
exten => 110,1,Dial(${RP_Yealink}&${RP_Cisco})
exten => 200,1,Answer()
same => n,Playback(hello-world)
same => n,Hangup()
Here're what pjsip logger captures when using the tls softphone (on ext
103) to call ext 101 (Hello World!). I had to click the hanup button on the
linphone some 15s later to terminate the call.
<--- Received SIP request (1199 bytes) from UDP:128.171.168.233:5060 --->
INVITE sip:200@128.171.77.23 SIP/2.0
Via: SIP/2.0/UDP 128.171.168.233:5060;branch=z9hG4bK.D-YbrxKYs;rport
From: "VOIP1_test" ;tag=XvCbVpnIJ
To: sip:200@128.171.77.23
CSeq: 20 INVITE
Call-ID: ziUzVUxYw7
Max-Forwards: 70
Supported: replaces, outbound, gruu
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
SUBSCRIBE, INFO, UPDATE
Content-Type: application/sdp
Content-Length: 531
Contact: ;expires=3599;+sip.instance=""
User-Agent: Linphone Desktop/4.2.2 (macOS 10.15, Qt 5.14.2)
LinphoneCore/4.4.0-13-gc99cb9c88
v=0
o=SOFTPHONE_B 1261 3707 IN IP4 128.171.168.233
s=Talk
c=IN IP4 128.171.168.233
t=0 0
a=rtcp-xr:rcvr-rtt=all:1 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7078 RTP/AVP 96 97 98 0 8 18 101 99 100
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:97 speex/16000
a=fmtp:97 vbr=on
a=rtpmap:98 speex/8000
a=fmtp:98 vbr=on
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/48000
a=rtpmap:99 telephone-event/16000
a=rtpmap:100 telephone-event/8000
a=rtcp-fb:* trr-int 1000
a=rtcp-fb:* ccm tmmbr
<--- Transmitting SIP response (479 bytes) to UDP:128.171.168.233:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 128.171.168.233:5060
;rport=5060;received=128.171.168.233;branch=z9hG4bK.D-YbrxKYs
Call-ID: ziUzVUxYw7
From: "VOIP1_test" ;tag=XvCbVpnIJ
To: ;tag=z9hG4bK.D-YbrxKYs
CSeq: 20 INVITE
WWW-Authenticate: Digest
realm="asterisk",nonce="1612573994/b1f976725d3cbb6b1fc9af5923a87ac7",opaque="50221ed627077186",algorithm=md5,qop="auth"
Server: Asterisk PBX 16.14.0
Content-Length: 0
<--- Received SIP request (412 bytes) from UDP:128.171.168.233:5060 --->
ACK sip:200@128.171.77.23 SIP/2.0
Via: SIP/2.0/UDP 128.171.168.233:5060;branch=z9hG4bK.D-YbrxKYs;rport
Call-ID: ziUzVUxYw7
From: "VOIP1_test" ;tag=XvCbVpnIJ
To: ;tag=z9hG4bK.D-YbrxKYs
Contact: ;expires=3599;+sip.instance=""
Max-Forwards: 70
CSeq: 20 ACK
<--- Received SIP request (1484 bytes) from UDP:128.171.168.233:5060 --->
INVITE sip:200@128.171.77.23 SIP/2.0
Via: SIP/2.0/UDP 128.171.168.233:5060;branch=z9hG4bK.HgO8RDlH4;rport
From: "VOIP1_test" ;tag=XvCbVpnIJ
To: sip:200@128.171.77.23
CSeq: 21 INVITE
Call-ID: ziUzVUxYw7
Max-Forwards: 70
Supported: replaces, outbound, gruu
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
SUBSCRIBE, INFO, UPDATE
Content-Type: application/sdp
Content-Length: 531
Contact: ;expires=3599;+sip.instance=""
User-Agent: Linphone Desktop/4.2.2 (macOS 10.15, Qt 5.14.2)
LinphoneCore/4.4.0-13-gc99cb9c88
Authorization: Digest realm="asterisk",
nonce="1612573994/b1f976725d3cbb6b1fc9af5923a87ac7", algorithm=md5,
opaque="50221ed627077186", username="SOFTPHONE_B", uri="
sip:200@128.171.77.23", response="352ca45cd5adc103f4b679713905bde9",
cnonce="7F142IC~o5UVxMll", nc=0001, qop=auth
v=0
o=SOFTPHONE_B 1261 3707 IN IP4 128.171.168.233
s=Talk
c=IN IP4 128.171.168.233
t=0 0
a=rtcp-xr:rcvr-rtt=all:1 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7078 RTP/AVP 96 97 98 0 8 18 101 99 100
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:97 speex/16000
a=fmtp:97 vbr=on
a=rtpmap:98 speex/8000
a=fmtp:98 vbr=on
a=fmtp:18 annexb=yes
a=rtpmap:101 telephone-event/48000
a=rtpmap:99 telephone-event/16000
a=rtpmap:100 telephone-event/8000
a=rtcp-fb:* trr-int 1000
a=rtcp-fb:* ccm tmmbr
== Setting global variable 'SIPDOMAIN' to