Страница 1 из 1

Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 19 мар 2019, 12:49
coolman
Всем привет!
К сожалению не удалось на просторах интернета найти решение следующей задаче:
Есть клиенты на которых закрывается интернет соединение с астериском спустя непродолжительное время (мобильные устройства)
После того как устройство теряет интернет но на него приходит попытка звонка астериск же считает что устройство еще активно так как видет его в активных пирах пытается терменировать звонок на него.
Для того что бы уменьшить время спустя которое астериск посчитает устройство недоступным использую настройку в пире qualify=yes
Это решило основную проблему с долгой потерей пира из живых. Но не полностью так как всеравно попадает сценарий пока астериск не посчитал пир мертвым и пытается подключиться к нему соответственно клиент долго слушает тишину во время которой ничего не происходит.

Вопрос заключается в следующем как уменьшить таймаут по которому астериск посчитает что он не смог достучаться до пира (уменьшить время тишины)
Перекопав настройки я не нашел такого параметра думаю что его можно прописать в сорсах на соединение. Но к сожалению я не нашел где это сделать. Может кто то подскажет чтоб не перелопачивать кучу кода ?
Заранее благодарен

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 20 мар 2019, 11:33
ded
CLI> sip show settings

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 20 мар 2019, 11:41
coolman
Global Settings:
----------------
UDP Bindaddress: 0.0.0.0:5060
TCP SIP Bindaddress: 0.0.0.0:5060
TLS SIP Bindaddress: 0.0.0.0:5061
RTP Bindaddress: Disabled
Videosupport: Yes
Textsupport: No
Ignore SDP sess. ver.: No
AutoCreate Peer: Off
Match Auth Username: No
Allow unknown access: No
Allow subscriptions: Yes
Allow overlap dialing: No
Allow promisc. redir: No
Enable call counters: No
SIP domain support: No
Path support : No
Realm. auth: No
Our auth realm asterisk
Use domains as realms: No
Call to non-local dom.: Yes
URI user is phone no: No
Always auth rejects: Yes
Direct RTP setup: No
User Agent: Asterisk PBX 14.7.2
SDP Session Name: Asterisk PBX 14.7.2
SDP Owner Name: root
Reg. context: (not set)
Regexten on Qualify: No
Trust RPID: No
Send RPID: No
Legacy userfield parse: No
Send Diversion: Yes
Caller ID: asterisk
From: Domain:
Record SIP history: Off
Auth. Failure Events: Off
T.38 support: Yes
T.38 EC mode: FEC
T.38 MaxDtgrm: 4294967295
SIP realtime: Disabled
Qualify Freq : 60000 ms
Q.850 Reason header: No
Store SIP_CAUSE: No

Network QoS Settings:
---------------------------
IP ToS SIP: CS0
IP ToS RTP audio: CS0
IP ToS RTP video: CS0
IP ToS RTP text: CS0
802.1p CoS SIP: 4
802.1p CoS RTP audio: 5
802.1p CoS RTP video: 6
802.1p CoS RTP text: 5
Jitterbuffer enabled: No

Network Settings:
---------------------------
SIP address remapping: Disabled, no localnet list
Externhost: <none>
Externaddr: (null)
Externrefresh: 10

Global Signalling Settings:
---------------------------
Codecs: (ulaw|alaw|gsm|h263)
Relax DTMF: No
RFC2833 Compensation: No
Symmetric RTP: No
Compact SIP headers: No
RTP Keepalive: 0 (Disabled)
RTP Timeout: 0 (Disabled)
RTP Hold Timeout: 0 (Disabled)
MWI NOTIFY mime type: application/simple-message-summary
DNS SRV lookup: Yes
Pedantic SIP support: Yes
Reg. min duration 60 secs
Reg. max duration: 3600 secs
Reg. default duration: 120 secs
Sub. min duration 60 secs
Sub. max duration: 3600 secs
Outbound reg. timeout: 20 secs
Outbound reg. attempts: 0
Outbound reg. retry 403:No
Notify ringing state: Yes
Include CID: No
Notify hold state: No
SIP Transfer mode: open
Max Call Bitrate: 384 kbps
Auto-Framing: No
Outb. proxy: <not set>
Session Timers: Accept
Session Refresher: uas
Session Expires: 1800 secs
Session Min-SE: 90 secs
Timer T1: 500
Timer T1 minimum: 100
Timer B: 32000
No premature media: Yes
Max forwards: 70

Default Settings:
-----------------
Allowed transports: UDP
Outbound transport: UDP
Context: default
Record on feature: automon
Record off feature: automon
Force rport: Auto (No)
DTMF: rfc2833
Qualify: 0
Keepalive: 0
Use ClientCode: No
Progress inband: No
Language:
Tone zone: <Not set>
MOH Interpret: default
MOH Suggest:
Voice Mail Extension: asterisk
RTCP Multiplexing: No

----

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 20 мар 2019, 18:28
ded
Зачем вы его опубликовали? Там ответы, а нужны они не мне, а вам.

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 20 мар 2019, 18:51
coolman
Буду очень признателен за подсказку.
Заранее благодарен.

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 22 мар 2019, 00:15
Zavr2008
Просто выбирайте мобильный SIP клиент с поддержкой push.
В этом случае фактически по SIP телефон будет постоянно доступен (через серваки приложения), при входящем звонке приходит push, запускается приложение и говорите даже если приложение и запущено не было (например после перезагрузки телефона).
Это еще и батарею экономит.
Недостаток - протухают эти регистрации иногда, нужно следить.

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 22 мар 2019, 08:53
coolman
Спасибо за ваш ответ.
Но у нас используется приложение разработанное нашей группой которое как раз использует PUSH.
Т.е. когда астериск не видит в активной регистрации конечного абонента отправляется пуш уведомление на телефон клиента и он заходит в регистрацию. все как бы работает корректно за исключением того маленького нюанса который я описал в первом сообщении когда звонок попадает в временное окно между тем как телефон потерял связь с астериском а астериск его еще считает зарегистрированным и пытается терменировать звонок на него. В этом случае тоже все срабатывает но звонящему приходится ждать пока астериск поймет что достучаться до клиента невозможно и перейдет к следующему сценарию.

Буду ждать информации по этому вопросу.
Спасибо !

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 22 мар 2019, 11:25
ded
А почему разработчики (группа?) не заглядывают в RFC 3261, 4028, в которых всё это - время ожидания - таймер, описано? И значения перед вами? И wiki.asteris.org есть? Почему надо писать, вместо того, чтобы читать?
Timer B 64*T1 17.1.1.2 INVITE transaction timeout timer
Зачем сидеть и ждать ответа тут вместо того, чтобы набрать несколько ключевых слов в Гугле?
https://www.ibm.com/support/knowledgece ... esumm.html

Как вариант - установите регистрацию устройств с частотой 60 сек, и будет ОК.
Таймеры подкручивать - гиблое дело. Но они не в sources подкручиваются, а в sip.conf

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 22 мар 2019, 15:26
Zavr2008
Т.е. когда астериск не видит в активной регистрации конечного абонента отправляется пуш уведомление на телефон клиента

Не поняли Вы - регистрация идет прокси (всегда доступной) у Вас в астере. Далее просто отдельная связь прокси с мобильником.
Когда приходит INVITE просто идет КПВ и при этом через PUSH пробуждается мобильный, регитца на проксе и прокся соединяет.

Re: Уменьшение времени ожидания соединения с клиентом

СообщениеДобавлено: 28 мар 2019, 18:12
coolman
ded писал(а):А почему разработчики (группа?) не заглядывают в RFC 3261, 4028, в которых всё это - время ожидания - таймер, описано? И значения перед вами? И wiki.asteris.org есть? Почему надо писать, вместо того, чтобы читать?


Спасибо ! данная настройка полностью решила наши проблемы!

Zavr2008 писал(а):
Т.е. когда астериск не видит в активной регистрации конечного абонента отправляется пуш уведомление на телефон клиента

Не поняли Вы - регистрация идет прокси (всегда доступной) у Вас в астере. Далее просто отдельная связь прокси с мобильником.
Когда приходит INVITE просто идет КПВ и при этом через PUSH пробуждается мобильный, регитца на проксе и прокся соединяет.


У нас не используется прокси для регистрации то о чем вы пишите это использование сторонних приложений которые используют собственные прокси для реализации ПУШ.
У нас это реализовано на связке астериска и наших приложений для мобильных устройств.