Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Как узнать, кто из DAHDI абонентов завершил звонок ?

0

День добрый

.

Немного о схеме:

Установлена плата Digium TE220B, в один порт приходит транк от оператора, 2й порт - соединение с нашей АТС. Asterisk установлен в "разрыв" между оператором и АТС, на нём голосовое приветствие, запись звонков, очереди и пр.

Сотрудник стал жаловаться на обрыв звонков, в текущих логах ничего подозрительного не увидел, включил debug лог и попросил сообщить когда случится обрыв. Можно ли узнать из логов кто завершил разговор ?

Собственно окончание интересующего нас звонка:

[Oct 30 15:36:35] VERBOSE[63311] sig_pri.c:     -- Span 1: Channel 0/3 got hangup request, cause 16
[Oct 30 15:36:35] VERBOSE[12838] bridge_channel.c:     -- Channel DAHDI/i1/-810 left 'simple_bridge' basic-bridge <545fdc9b-2206-4341-b579-33e5a183014a>
[Oct 30 15:36:35] VERBOSE[12840] bridge_channel.c:     -- Channel DAHDI/i2/4734-1c2a left 'simple_bridge' basic-bridge <545fdc9b-2206-4341-b579-33e5a183014a>
[Oct 30 15:36:35] VERBOSE[12838] pbx.c:   == Spawn extension (route_in_beeline, 7373, 10) exited non-zero on 'DAHDI/i1/-810'
[Oct 30 15:36:35] VERBOSE[12840] chan_dahdi.c:     -- Hungup 'DAHDI/i2/4734-1c2a'
[Oct 30 15:36:35] VERBOSE[12838] chan_dahdi.c:     -- Hungup 'DAHDI/i1/-810'

  Посмотрел на формирование строки "got hangup request", но как привязать к конкретному каналу не понял

ast_verb(3, "Span %d: Channel %d/%d got hangup request, cause %d\n", 
pri->span, pri->pvts[chanpos]->logicalspan, 
pri->pvts[chanpos]->prioffset, e->hangup.cause);

 

$ cat ./dahdi/system.conf

# от оператора
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31

# к АТС
span=2,2,0,ccs,hdb3
bchan=32-46,48-62
dchan=47
echocanceller=mg2,32-46,48-62

 

$ cat ./asterisk/chan_dahdi.conf

[trunkgroups]
[channels]
language=en
context=route_in_default
switchtype=euroisdn
nsf=none
service_message_support=yes
pridialplan=unknown
prilocaldialplan=national
resetinterval = 3600
overlapdial=yes
inbanddisconnect=no
hold_disconnect_transfer=no
priindication = outofband
priexclusive = yes
discardremoteholdretrieval=yes


facilityenable = yes

signalling=pri_cpe
usecallerid=yes
cidsignalling=v23
hidecalleridname=no
callwaiting=no
max_call_waiting_calls=0
allow_call_waiting_calls=no
restrictcid=no
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=no
transfer=no
canpark=no
cancallforward=no
callreturn=no
echocancel=yes
echocancelwhenbridged=no
echotraining=yes
echotraining=800
relaxdtmf=no


mohinterpret=default
mohsuggest=default

useincomingcalleridondahditransfer = yes
amaflags=default
adsi=yes
usesmdi=no
faxdetect=no
jitterbuffers=8
jbenable = yes
jbmaxsize = 200
jbimpl = fixed


group=1
signalling=pri_cpe
context=route_in_beeline
channels=>1-10

group=2
signalling=pri_net
context=route_in_pbx
channels =>32-41
удалить закрыть спам изменить тег редактировать

спросил 2014-10-30 17:43:20 +0400

tstfax Gravatar tstfax
102 4 5

обновил 2014-10-30 20:46:07 +0400

Comments

Запишите разговор и прослушайте. Сотрудник может и ошибаться.

zzuz ( 2014-10-30 19:30:56 +0400 )редактировать

got hangup request, cause 16 = это нормальное завершение - смотрите остальные cause

awsswa ( 2014-10-30 19:42:38 +0400 )редактировать

chan_dahdi.conf в студию.

Zavr2008 ( 2014-10-30 19:48:59 +0400 )редактировать

zzuz, Разговор, послушал, действительно оборван на полуслове. Сказал присылать ещё примеры, при повторении

awsswa, Да, я знаю, что cause 16 это нормальное завершение, хочется узнать с чьей стороны

Zavr2008, chan_dahdi.conf добавил в вопрос

tstfax ( 2014-10-30 20:48:48 +0400 )редактировать

Собирайте статистику . По мне , так скорее всего провайдера придется побеспокоить.

zzuz ( 2014-10-31 02:04:01 +0400 )редактировать

ищите обрывы синхронизации по E1 - в расширенных логах должно быть видно

awsswa ( 2014-10-31 08:00:56 +0400 )редактировать

Если есть обрывы , то это точно к провайдеру. Но обрывы должны быть длительные , чтобы прервать разговор.

zzuz ( 2014-10-31 13:44:41 +0400 )редактировать

2 Ответа

1

смотрите

 pri set debug span 0

там будет написано.

16 выдает также если Unspecified.

но собственно вам это ничем не поможет, даже если выясните

ссылка удалить спам редактировать

ответил 2014-10-30 21:14:02 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Спасибо.

Выяснил что hangup request приходит со стороны клиента, а не сотрудника, с cause 31 (Normal, unspecified).

Видимо придется пообщаться с провайдером, ох и не люблю я техподдержку Билайн Бизнес

tstfax ( 2014-10-31 13:22:48 +0400 )редактировать

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

zzuz ( 2014-10-31 13:45:59 +0400 )редактировать
0

В chan_dahdi.conf для чего дано usecallingpres=yes ? Эта функция слушает звук и определяет сигналы "занято" даже там, где их нет. Уберите и все будет хорошо, нужно проверить будет ли отбиваться звонок при завершении.

ссылка удалить спам редактировать

ответил 2014-10-31 22:20:40 +0400

vanomel Gravatar vanomel
180 3 4

Comments

оно ограничено по времени до коннекта. в цифре это вообще не работает.а pri - цифра.

meral ( 2014-11-01 00:02:01 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-10-30 17:43:20 +0400

Просмотрен: 592 раз

Обновлен: Oct 31 '14

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.