AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Зависший SIP- канал

Asterisk IP PBX 15 сообщений -
#1

Прошу помочь.
в астериск 11.6.0 у меня установлен.
Иногда зависает SIP канал.
Я хотел завершить командой:

1) sip show channels

Результат - видим в списке нужный номер с зависшим звонком (если мы уверенны, что звонок завис - у клиента нет активных сессий):

Peer User/ANR Call ID Format Hold Last Message Expiry Peer
...
192.168.10.175 225 80BDD706-AAB8-E (alaw) No Rx: ACK 225
...


2) Теперь нужно узнать ID канала по Call ID:

sip show channel 80BDD706-AAB8-E


Результат:


* SIP Call
Curr. trans. direction: Incoming
Call-ID: 80BDD706-AAB8-E311-A43F-BA0FA64CD691@192.168.10.175
Owner channel ID: SIP/225-0001c666
Our Codec Capability: (gsm|ulaw|alaw|g729)
Non-Codec Capability (DTMF): 1
Their Codec Capability: (gsm|ulaw|alaw|g726|speex|speex16|ilbc|g722)
Joint Codec Capability: (gsm|ulaw|alaw)
Format: (alaw)
T.38 support No
Video support No
MaxCallBR: 384 kbps
Theoretical Address: 192.168.10.175:5060
Received Address: 192.168.10.175:5060
SIP Transfer mode: open
Force rport: No
Audio IP: 192.168.11.86 (local)
Our Tag: as0fc335a4
Their Tag: 1214114025
SIP User agent: SIPPER for PhonerLite
Username: 225
Peername: 225
Original uri: sip:225@192.168.10.175:5060
Caller-ID: 225
Need Destroy: No
Last Message: Rx: ACK
Promiscuous Redir: No
Route:
DTMF Mode: rfc2833
SIP Options: 100rel from-change replaces replace
Session-Timer: Inactive

3) Убиваем канал:

channel request hangup SIP/225-0001c666
Данная команда не отрабатывает. ошибку не выдает.
Какими еще командами можно воспользоваться?
#2

скифосовский - неверю

а что бы канал не зависал в DIAL можно ограничить время разговора двумя часами

_________________
платный суппорт по мере возможностей
#3

А параметры в sip.conf не помогут?
Код:

rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity
; on the audio channel
; when we're not on hold. This is to be able to hangup
; a call in the case of a phone disappearing from the net,
; like a powerloss or grandma tripping over a cable.
rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity
; on the audio channel

#4

не всегда - со щлюзами точно неработают
_________________
платный суппорт по мере возможностей
#5

awsswa А вот с этого места можно поподробней?
#6

а что подробнотеть ?
если канал на шлюзе завис в состоянии отбоя - он так и будет слать RTP трафик - сигналы congestions

_________________
платный суппорт по мере возможностей
#7

По FXO, тут только отбойник поможет.
Я думал что-нить с FXS портами.

Почему-то у меня стойкое убеждение что FXO уже не используется народом.
#8

awsswa @ Ср Окт 07, 2015 10:53 писал(а):
скифосовский - неверю

а что бы канал не зависал в DIAL можно ограничить время разговора двумя часами

У меня стоит так:

exten => s,n,DIAL($ARG2,90)
Это не правильно?

Added after 3 minutes:

_Pavel_ @ Ср Окт 07, 2015 11:10 писал(а):
А параметры в sip.conf не помогут?
Код:

rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity
; on the audio channel
; when we're not on hold. This is to be able to hangup
; a call in the case of a phone disappearing from the net,
; like a powerloss or grandma tripping over a cable.
rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity
; on the audio channel



Пробывали, не помогает.

Added after 1 minutes:

awsswa, верит не верит ваше дело.
Но на данной сборке почему то и не работает.
А вот в Elastix это команда точно работает.
#9

http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial

L(x[:y][:z]): Limit the call to 'x' ms, warning when 'y' ms are left, repeated every 'z' ms) Only 'x' is required, 'y' and 'z' are optional. Numbers must be integers- beware of AGI scripts that may return long integers in scientific notation (esp PHP 5.2.5&6) The following special variables are optional for limit calls: (pasted from app_dial.c)
LIMIT_PLAYAUDIO_CALLER - yes|no (default yes) - Play sounds to the caller.
LIMIT_PLAYAUDIO_CALLEE - yes|no - Play sounds to the callee.
LIMIT_TIMEOUT_FILE - File to play when time is up.
LIMIT_CONNECT_FILE - File to play when call begins.
LIMIT_WARNING_FILE - File to play as warning if 'y' is defined. If LIMIT_WARNING_FILE is not defined, then the default behaviour is to announce ("You have [XX minutes] YY seconds").

_________________
платный суппорт по мере возможностей
#10

MedFor
Дык FXO шлюзы стоят или как?

На голом 11.6 эти параметры точно работают.
Как вариант можно конечно и через Dial ограничить часа на 3.
#11

_Pavel_ @ Ср Окт 07, 2015 12:04 писал(а):
MedFor
Дык FXO шлюзы стоят или как?

На голом 11.6 эти параметры точно работают.
Как вариант можно конечно и через Dial ограничить часа на 3.

Нет FXO шлюзы не стоят.
#12

sip reload помогает?

Обычно "подвисание" связано с невозможностью резолвинга DNS - проверьте, нет ли в конфиге host по имени какому.

И еще: в\привыкайте к порядку - хотите точного ответа если: конфиги в студию и sip debug.

_________________
http://mh.otx.ru SIP/E1 шлюзы Alvis, Добавь E1 к Asterisk, Проапгрейди Заказчику TDA/LDK!
NEW! Alvis-GW-2E1-L по 29500р, спеши! цены
#13

Zavr2008 @ Чт Окт 08, 2015 09:30 писал(а):
sip reload помогает?

Обычно "подвисание" связано с невозможностью резолвинга DNS - проверьте, нет ли в конфиге host по имени какому.

И еще: в\привыкайте к порядку - хотите точного ответа если: конфиги в студию и sip debug.


SIP reload не помогает.
хотел debug сделать на peer в отдельный файл, туда тоже не пишет((
asterisk -rx "sip set debug peer user001" / tee /var/log/sip.log, все равно пишет в общий лог.
#14

ну да, и tcpdump по udp на ip того хоста - не работает )))))))
_________________
http://mh.otx.ru SIP/E1 шлюзы Alvis, Добавь E1 к Asterisk, Проапгрейди Заказчику TDA/LDK!
NEW! Alvis-GW-2E1-L по 29500р, спеши! цены
#15

тогда уж лучше sngrep