Настроен webrtc-софтфон SIPML5 в браузере к астериску 16й версии, коннект через инет, драйвер PJSIP. Все работает, звонки ходят.
Проблема в том, что когда юзер обновляет страницу с софтфоном (зачем он так делает - это отдельный вопрос и к теме не относится), то звонок зависает в астериске и приходится сбрасывать его только вручную. Хотелось бы чтоб звонок разрывался в таком случае, т.е. когда коннект с webrtc-клиентом потерян.
Как то можно сделать такое?
Ниже лог такого случая:
- Код: выделить все
-- Removed contact 'sips:webrtc_client@111.222.333.444:2901;transport=ws;rtcweb-breaker=yes' from AOR ' webrtc_client' due to shutdown
== Contact webrtc_client/sips:webrtc_client@111.222.333.444:2901;transport=ws;rtcweb-breaker=yes has been deleted
== Endpoint webrtc_client is now Unreachable
== WebSocket connection from '111.222.333.444:2901' closed
<<<<<<<в этой точке страница с софтфоном была обновлена и софтфон переподключился>>>>>>>>>>>>>
== WebSocket connection from '111.222.333.444:2909' for protocol 'sip' accepted using version '13'
[Feb 25 11:47:23] NOTICE[3243]: res_pjsip/pjsip_distributor.c:676 log_failed_request: Request 'REGISTER' from '"webrtc_client" <sip:webrtc_client@10.8.0.10>' failed for '111.222.333.444:2909' (callid: be132b47-90 5b-af61-4d21-ffded2eaac24) - Failed to authenticate
-- Added contact 'sips:webrtc_client@111.222.333.444:2909;transport=ws;rtcweb-breaker=yes' to AOR 'webr tc_client' with expiration of 200 seconds
== Endpoint webrtc_client is now Reachable
-- Contact webrtc_client/sips:webrtc_client@111.222.333.444:2909;transport=ws;rtcweb-breaker=yes is now Reachable. RTT: 30.602 msec
<<<<<<<<<<<<смотрим текущие каналы>>>>>>>>>>>>>
sip*CLI> pjsip show channels
Channel: <ChannelId........................................> <State.....> <Time.....>
Exten: <DialedExten.............> CLCID: <ConnectedLineCID.......>
==========================================================================================
Channel: PJSIP/webrtc_client-0000015e/Echo Up 00:02:31
Exten: 600 CLCID: "" <>
Objects found: 1
Как видно, вызов повис.
Ниже - настройки пира
- Код: выделить все
[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0
;=====ШАБЛОНЫ
[aor_template](!)
type=aor
max_contacts=1
remove_existing=yes
qualify_frequency=60
[auth_template](!)
type=auth
auth_type=userpass
[webrtc_endpoint_template](!)
type=endpoint
transport=transport-wss
dtls_auto_generate_cert=yes
webrtc=yes
direct_media=no
context=default
disallow=all
allow=opus,ulaw
[webrtc_client](aor_template)
[webrtc_client](auth_template)
username=webrtc_client
password=password
[webrtc_client](webrtc_endpoint_template)
aors=webrtc_client
auth=webrtc_client