I have connection by chan_sip to VoIP operator and chan_pjsip for webrtc to connect agents. I can place a call, talk, etc. but when chan_sip are hanguped then my agent connected by pjsip has still channel up.
Strange thing is that, is pjsip channel from ‘pjsip show channels’ are disappear. Next thing is that, ‘pjsip show history’ shows that is Asterisk dont send BYE to agent after when i end call on chan_sip
I imagine that would happen if the agent dropped the WebRTC TCP connection, although I’d expect more complete logs to show the resulting failure to send BYE.
One really needs the full log. However, to me, it seems that:
[Nov 12 18:18:07] DEBUG[544] res_pjsip_session.c: The transaction state change event is TRANSPORT_ERROR
is consistent with the TCP connection having been dropped before that point, making it impossible to send the BYE. (It looks like it tried and failed to connect back the other way, which is what will happen with Web-RTC, as only the browser is allowed to create connections.)
serv250018*CLI> core set verbose 5
Console verbose was OFF and is now 5.
serv250018*CLI> core set debug 5
Core debug was OFF and is now 5.
serv250018*CLI> logger add channel debug_log_123456 notice,warning,error,debug,verbose,dtmf
== WebSocket connection from 'agentIP:29621' for protocol 'sip' accepted using version '13'
[Nov 12 20:37:57] WARNING[32751]: res_pjsip/config_transport.c:676 transport_apply: Transport 'transport-ws' is not relo
-- Added contact 'sips:agentExtension@agentIP:29621;transport=ws;rtcweb-breaker=no' to AOR 'agentExtension' with expiration of 2
== Endpoint agentExtension is now Reachable
== Setting global variable 'SIPDOMAIN' to 'imagosip.pl'
-- Executing [+48myPhoneNumber@phones:1] NoOp("PJSIP/agentExtension-00000000", "Outgoing call to Poland") in new stack
-- Executing [+48myPhoneNumber@phones:2] NoOp("PJSIP/agentExtension-00000000", "presentation_CPA") in new stack
-- Executing [+48myPhoneNumber@phones:3] MSet("PJSIP/agentExtension-00000000", "CPB=148myPhoneNumber,FULL=+48myPhoneNumber") in new stack
-- Executing [+48myPhoneNumber@phones:4] Gosub("PJSIP/agentExtension-00000000", "makeCall,s,1") in new stack
-- Executing [s@makeCall:1] NoOp("PJSIP/agentExtension-00000000", "") in new stack
-- Executing [s@makeCall:2] Gosub("PJSIP/agentExtension-00000000", "setsCall,s,1") in new stack
-- Executing [s@setsCall:1] NoOp("PJSIP/agentExtension-00000000", "I set a variables on channel") in new stack
-- Executing [s@setsCall:2] Set("PJSIP/agentExtension-00000000", "FILE=1605209883.0-agentExtension-148myPhoneNumber.WAV") in new stack
-- Executing [s@setsCall:3] Set("PJSIP/agentExtension-00000000", "MIXMONITOR_FILENAME=1605209883.0-agentExtension-148myPhoneNumber.WAV") in
-- Executing [s@setsCall:4] Set("PJSIP/agentExtension-00000000", "PROJECTID=2") in new stack
-- Executing [s@setsCall:5] Set("PJSIP/agentExtension-00000000", "TRUNK=trunkName") in new stack
-- Executing [s@setsCall:6] Set("PJSIP/agentExtension-00000000", "CDR(nagranie)=1605209883.0-agentExtension-148myPhoneNumber.WAV") in new st
-- Executing [s@setsCall:7] MixMonitor("PJSIP/agentExtension-00000000", "1605209883.0-agentExtension-148myPhoneNumber.WAV,b") in new stack
-- Executing [s@setsCall:8] Return("PJSIP/agentExtension-00000000", "") in new stack
-- Executing [s@makeCall:3] NoOp("PJSIP/agentExtension-00000000", "PROJECTID: 2") in new stack
-- Executing [s@makeCall:4] NoOp("PJSIP/agentExtension-00000000", "TRUNK: trunkName") in new stack
== Begin MixMonitor Recording PJSIP/agentExtension-00000000
-- Executing [s@makeCall:5] Dial("PJSIP/agentExtension-00000000", "SIP/trunkName/0048myPhoneNumber") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/trunkName/0048myPhoneNumber
> 0x7fd6cc00f160 -- Strict RTP learning after remote address set to: 89.185.255.45:12286
-- SIP/trunkName-00000000 is making progress passing it to PJSIP/agentExtension-00000000
> 0x7fd67003c8f0 -- Strict RTP learning after remote address set to: agentLocalIP:60589
> 0x7fd67003c8f0 -- Strict RTP learning after ICE completion
> 0x7fd67003c8f0 -- Strict RTP learning after remote address set to: agentIP:23493
-- PJSIP/agentExtension-00000000 requested media update control 26, passing it to SIP/trunkName-00000000
> 0x7fd67003c8f0 -- Strict RTP switching to RTP target address agentIP:23493 as source
> 0x7fd6cc00f160 -- Strict RTP switching to RTP target address 89.185.255.45:12286 as source
-- SIP/trunkName-00000000 requested media update control 26, passing it to PJSIP/agentExtension-00000000
-- SIP/trunkName-00000000 answered PJSIP/agentExtension-00000000
-- Channel SIP/trunkName-00000000 joined 'simple_bridge' basic-bridge <25bbb62c-482f-4e8e-a61b-0ed9b8a2a826>
-- Channel PJSIP/agentExtension-00000000 joined 'simple_bridge' basic-bridge <25bbb62c-482f-4e8e-a61b-0ed9b8a2a826>
> 0x7fd6cc00f160 -- Strict RTP learning complete - Locking on source address 89.185.255.45:12286
> 0x7fd67003c8f0 -- Strict RTP learning complete - Locking on source address agentIP:23493
-- Channel SIP/trunkName-00000000 left 'simple_bridge' basic-bridge <25bbb62c-482f-4e8e-a61b-0ed9b8a2a826>
-- Channel PJSIP/agentExtension-00000000 left 'simple_bridge' basic-bridge <25bbb62c-482f-4e8e-a61b-0ed9b8a2a826>
== Spawn extension (makeCall, s, 5) exited non-zero on 'PJSIP/agentExtension-00000000'
== MixMonitor close filestream (mixed)
== End MixMonitor Recording PJSIP/agentExtension-00000000
;;; i end call on mobile phone
;;; agent have to hangup by self
;;; agent are logout
-- Removed contact 'sips:agentExtension@agentIP:29621;transport=ws;rtcweb-breaker=no' from AOR 'agentExtension' due to request
== Contact agentExtension/sips:agentExtension@agentIP:29621;transport=ws;rtcweb-breaker=no has been deleted
== Endpoint agentExtension is now Unreachable
== WebSocket connection from 'agentIP:29621' closed
Ok. I did it. I solved my issue. Maybe that is not solution but is workaround. I totally disable chan_sip and leave only chan_pjsip, then move configured sip endpoints to pjsip and all works now