зависание медиа сервера при звонке через вн. линию на 999

  • Автор темы Автор темы vpaulo
  • Дата начала Дата начала

vpaulo

Регистрация
30 Окт 2015
Сообщения
431
Вчера ночью было грустно и решил проверить как работает голосовая почта. В итоге при звонке на внешний номер я попадаю на голосовое приветствие компании ( все как обычно) где она предлагает набрать внутренний номер, ну я набираю номер 999 и попадаю без пароля в какой то голосовой ящик ( какой так и не понял, почему без пароля понятно - сам отключил), где она предлагает прослушать голосовые сообщения, сменить приветствие и т.п. пробую сменить приветствие - типа запишите.. после для подтверждения нажмите *, нажимаю а там ошибка сохранения, ну ладно.. пробую сменить там еще что то по цифре 8, после этой преблуды медиа сервис завис окончательно и стопнулся, так и висел до утра пока я его не рестартанул, версия 9-ая билд последний. Вопрос, как сделать рестарт сервисов в случае зависания!? ( помимо того чтобы указать в свойствах службы рестарт и т.п. в настройках служб в винде). Второй вопрос в какой все таки голосовой ящик попадает это соединение!?
 
толко что посмотрел в каталоге войс меил новые папки.. обнаружил новую папку с номера которого звонил ночью, она все таки записала голосовое приветствие но видимо не смогла создать ящик для этого номера.
 
Мне кажется, что вопрос о рестарте сервиса относится к общеадминским задачам, и к 3CX имеет мало отношения.
net start, net stop вроде всегда было...
А вот ПОЧЕМУ произошло зависание - это было бы интересно...
 
почему произошло зависание более менее понятно. Медиа сервер не смог ни записать не изменить приветствия так как такова почтового ящика в системе нет и быть не может. весь вопрос только как он создал папку для моего мобильного номера :-)))
 
видимо умного ответа не поступит. придется самому опять разбираться.
 
@vpaulo wrote:видимо умного ответа не поступит. придется самому опять разбираться.
Кажется я пропустил этот топик, а то бы пару глупостей уже давно написал бы :)

По порядку:
1. такое поведение PBX в описаном сценарии - баг по определению. "SP2" для 9-ки это исправляет (сценарий: неправильная обработка доступа к "спецменю"(голосовой почте) при звонке с внешнего номера. Происходит в случае когда запрос PIN'а отключён администратором).
2. вопрос о причинах остановки сервиса "Media Server" остаётся открытым. Этот сервис все звонки обрабатывает одинаково, хоть с внутреннего номера, хоть с внешнего, хоть на голосовую почту, хоть "к чёрту на кулички".
3. Очень жаль, что "посмертных" логов MediaServer'а не было сохранено. Была бы возможность хоть предположение сделать. А так - информация непроверенная и предположительно неверная ;)

Персонально от меня - поздравления. Зарегистрирована уникальная ситуация: MediaServer остановился по неизвестным причинам. Никаких артефактов не осталось ни в системе, ни в логах нигде.
К сожалению, факт остаётся фактом. Не верить нет причин. "Будем искать" (с)....

И спасибо за информацию :)
 
Степан харош стебаться :-)))мы оба понимаем что остановка сервиса была вызвана прежде всего невозможностью записать в базу данных пбх ( постгрес) насколько я помню голосового приветствия и сохранить эти настройки в файл, в связи с тем что делалось это службой неоднократно это скорей всего ее и остановило, так как ядро так и не поняло почему база отказывается писать изменения на ее прямую команду это сделать неоднократно :-)))
логи где то конечно есть... их не может не быть
 
@vpaulo wrote:Степан харош стебаться :-)))мы оба понимаем что остановка сервиса была вызвана прежде всего невозможностью записать в базу данных пбх ( постгрес) насколько я помню голосового приветствия и сохранить эти настройки в файл, в связи с тем что делалось это службой неоднократно это скорей всего ее и остановило, так как ядро так и не поняло почему база отказывается писать изменения на ее прямую команду это сделать неоднократно :-)))
логи где то конечно есть... их не может не быть

Павел,

Я не стебаюсь, я полностью серьёзен. Тут ситуация такая, что если сервис упал, то в его логе должен быть хотя бы намёк на причину, а в системном логе тоже должны быть указаны события операционной системы происходящие в момент "падения". Надо было до запуска "умершего" медиа сервера собрать логи с помощью "Generate Support Info", а потом уже запускать его. В принципе это надо делать всегда перед тем, как начинать решать проблемы возникшие в PBX.

В свойствах любого сервиса (см service control manager, запускается из панели управления или запуском services.msc) есть закладка Recovery, там можно настроить автоматический перезапуск сервиса в случае его "падения".

хотелось бы разобраться с ситуацией. Может, если логов PBX нет, то хоть системные события той "ужасной" ночи можно помотреть. Там и "падение" должно быть зарегистрировано...
 
да я знаю где ставить перезапуск сервера и логи где лежат.. надо время найти.. к сожалению работа отнимает все больше и больше времени вот сейчас пытаюсь понять почему не ходит видео трафик между двумя 3сх фонами. но это уже совсем другой пост
 
@vpaulo wrote:да я знаю где ставить перезапуск сервера и логи где лежат.. надо время найти.. к сожалению работа отнимает все больше и больше времени вот сейчас пытаюсь понять почему не ходит видео трафик между двумя 3сх фонами. но это уже совсем другой пост

Согласен. Смешивать коней и людей в одну кучу не есть созидательный путь решения проблем.
Где лог? (прошу прощения за грубость ;) )
 
вот вам лог сэр :-)) с утра пораньше

3сxivrserver.log

21:23:29.557|1536|(0):Error! Module '3CX.com.OSBinet'. Error ID 302. URLhttp://localhost:5484/(S(rbvnnlr15r1s4oyqcu52jsvs))/dr.aspx?dr=80000&to=80000&from=ЧЧЧЧ13188
21:23:48.147|1536|.apiVXItelImpl.cpp(148):IvrDll, VXItelImpl::Impl::IntrnTransfer(), Error! Error of 'From_чччч913188_To_80000_Menu_80000_#0/484' session transferring to sip:[email protected]:5060. Status: NEAR_END_DISCONNECT. Transfer error. Session stopped
21:23:48.163|1652|(0):Error! Module '3CX.com.OSBjsi'. Error ID 501. errmsgReferenceError: ext_playcid is not definedline1linetxttokentxt
21:23:48.163|1652|(0):Error! Module '3CX.com.OSBjsi'. Error ID 501. errmsgReferenceError: ext_playdt is not definedline1linetxttokentxt

CallHistory service.log

21:29:01.595|Inf(03)| insert into callhistory3 (idcallhistory3, callid, duration, starttime,answertime,endtime, from_no, to_no, group_no, line_no, is_answ, is_fail, is_compl, is_fromoutside, CallerID, DialedNumber, lastCallerID, lastDialedNumber, mediaType, rate, totalcost, billprefix, BillRateName, GrpAnswDetail, recfile)values (57611,'24270d1db25d2866','00:05:21.3240000','2010/8/31 9:23:28 PM','2010/8/31 9:23:28 PM','2010/8/31 9:28:50 PM','99006','80000','','99006',True,False,True,True,'xxxx913188','xxxx633757','xxxx913188','',1,0,0,'','','-2','' );

21:29:02.125|Inf(03)| insert into CallDetails (IdCallHistory2, DetailNum, ParentDetailNum, Dest_num, StartTime,Dur, AnswerTime, Status, Is_Compl, SpecDstType, is_tooutside, dest_dn) values (57611,1,0,'80000','2010/8/31 9:23:28 PM','00:00:19.5420000','2010/8/31 9:23:28 PM',6,True,0,False,'80000' );

21:29:03.295|Inf(03)| insert into CallDetails (IdCallHistory2, DetailNum, ParentDetailNum, Dest_num, StartTime,Dur, AnswerTime, Status, Is_Compl, SpecDstType, is_tooutside, dest_dn) values (57611,2,1,'99999','2010/8/31 9:23:47 PM','00:04:29.6410000','2010/8/31 9:23:48 PM',6,True,0,False,'99999' );

21:29:03.419|Inf(03)| select max(idcallhistory3) from callhistory3;

21:29:03.419|Inf(03)| insert into callhistory3 (idcallhistory3, callid, duration, starttime,answertime,endtime, from_no, to_no, group_no, line_no, is_answ, is_fail, is_compl, is_fromoutside, CallerID, DialedNumber, lastCallerID, lastDialedNumber, mediaType, rate, totalcost, billprefix, BillRateName, GrpAnswDetail, recfile)values (57612,'a622ae5ccc6cf66b','00:00:00','2010/8/31 9:28:52 PM',null,'2010/8/31 9:28:53 PM','99002','80011','80011','99002',False,False,True,True,'xxxx913188','xxx31998','','',1,0,0,'','','-1','' );

21:29:03.419|Inf(03)| insert into CallDetails (IdCallHistory2, DetailNum, ParentDetailNum, Dest_num, StartTime,Dur, AnswerTime, Status, Is_Compl, SpecDstType, is_tooutside, dest_dn) values (57612,1,0,'xxx31998','2010/8/31 9:28:52 PM','00:00:01.0920000',null,5,True,2,False,'80011' );

21:29:03.497|Inf(03)| select max(idcallhistory3) from callhistory3;

21:29:03.497|Inf(03)| insert into callhistory3 (idcallhistory3, callid, duration, starttime,answertime,endtime, from_no, to_no, group_no, line_no, is_answ, is_fail, is_compl, is_fromoutside, CallerID, DialedNumber, lastCallerID, lastDialedNumber, mediaType, rate, totalcost, billprefix, BillRateName, GrpAnswDetail, recfile)values (57613,'f8629e5f57095974','00:00:00','2010/8/31 9:28:24 PM',null,'2010/8/31 9:28:56 PM','99006','80000','','99006',False,False,True,True,'xxxx913188','xxxx633757','','',1,0,0,'','','-2','' );

21:29:03.497|Inf(03)| insert into CallDetails (IdCallHistory2, DetailNum, ParentDetailNum, Dest_num, StartTime,Dur, AnswerTime, Status, Is_Compl, SpecDstType, is_tooutside, dest_dn) values (57613,1,0,'80000','2010/8/31 9:28:24 PM','00:00:19.5250000',null,5,True,0,False,'80000' );

21:29:54.677|Inf(03)| select max(idcallhistory3) from callhistory3;

21:30:04.656|Inf(03)| Running Call History Updater iteration
21:30:04.656|Inf(03)| SELECT value,kind FROM dnallocation

21:30:04.656|Inf(03)| Parsing reposts file first
21:30:07.042|Inf(03)| select max(idcallhistory3) from callhistory3;

21:30:07.042|Inf(03)| insert into callhistory3 (idcallhistory3, callid, duration, starttime,answertime,endtime, from_no, to_no, group_no, line_no, is_answ, is_fail, is_compl, is_fromoutside, CallerID, DialedNumber, lastCallerID, lastDialedNumber, mediaType, rate, totalcost, billprefix, BillRateName, GrpAnswDetail, recfile)values (57618,'4d72e8724f5d474a','00:00:00','2010/8/31 9:30:03 PM',null,'2010/8/31 9:30:03 PM','99002','80011','80011','99002',False,True,True,True,'xxxx913188','xxx31998','','',1,0,0,'','','-1','' );

21:30:07.042|Inf(03)| insert into CallDetails (IdCallHistory2, DetailNum, ParentDetailNum, Dest_num, StartTime,Dur, AnswerTime, Status, Is_Compl, SpecDstType, is_tooutside, dest_dn) values (57618,1,0,'47031998','2010/8/31 9:30:03 PM','00:00:00',null,4,True,2,False,'80011' );

21:30:07.104|Inf(03)| select max(idcallhistory3) from callhistory3;


больше в папке архивов ничего не значится
 
а вто время когда зафиксировал медиа сервер сбой почему то

21:23:05.758|Inf(03)| File not found
21:23:15.739|Inf(03)| Running Call History Updater iteration
21:23:15.739|Inf(03)| SELECT value,kind FROM dnallocation

21:23:15.739|Inf(03)| File not found
21:23:25.721|Inf(03)| Running Call History Updater iteration
21:23:25.721|Inf(03)| SELECT value,kind FROM dnallocation

21:23:25.721|Inf(03)| File not found
21:23:35.702|Inf(03)| Running Call History Updater iteration
21:23:35.702|Inf(03)| SELECT value,kind FROM dnallocation

21:23:35.702|Inf(03)| Parsing reposts file first
21:23:38.073|Inf(03)| select max(idcallhistory3) from callhistory3;

21:23:38.088|Inf(03)| select max(idcallhistory3) from callhistory3;

21:23:38.104|Inf(03)| select max(idcallhistory3) from callhistory3;
 
В приведённом куске лога "ivr" - перевод звонка на сервис голосовой почты. Кроме подтверждения того, что такое действо было совершено ничего не проясняет. И всё там было успешно, несмотря на грозные определения "error" :)
Сервис истории звонков работает над обработкой истории звонков в обычном режиме. Ему не всегда всё удаётся, но медиа сервер от этого не может "упасть"...

Обработка звонков и медиа потоков в PBX вообще с базой данных никак не связана... Копать в эту сторону - только время зря терять. (говорю это уже второй раз)

Итак:
Лога "медиа сервера" у нас нет (не сохранили). Лога "3CXPhonesystem.trace.log" или "3CXPhonesystem.log" тоже найти не можем, хотя копии 3CXPhonesystem.log вроде всегда сохраняются в бэкапе. Но есть слабая надежда, что системный лог может нам помочь. Падение (если такое вообще было) должно было быть зафиксировано в системном логе. В описании события есть намёк на причину. А предыстория/"пост-история" системных событий может немного рассказать о том, что вообще в системе происходило в тот момент.

P.S."Томное" у нас какое-то обсуждение. Но проблема-то, серьёзная! Такого не должно происходить вообще, но факт зарегистрирован и списывать его на "потусторонний мир" было бы глупо с любой точки зрения. :)
 
хорошо коль пошла такая пьянка.. щас накатим бекап на какой нить виртуальный сервачок :-)) и сгенерируем ситуацию.. правда падение может и не случится.. но все же :-)) попробуем
 
@vpaulo wrote:хорошо коль пошла такая пьянка.. щас накатим бекап на какой нить виртуальный сервачок :-)) и сгенерируем ситуацию.. правда падение может и не случится.. но все же :-)) попробуем
В том-то и дело, что я уже пытался этот подвиг повторить, но, увы, - без шансов. По мотивам расследования - в SP2 уже такого сценария звонка не бывает. Поэтому, рекомендую без SP2 пробовать. Кстати, медиа сервер в SP2 не патчился, он, если память не изменяет, со времён "бет" 9-ки не меняется...

Буду рад если проблему можно воспроизвести. А если ещё и логи будут, то просто праздник намечается :)

Спасибо за помощь
 
а мы 8-ку развернем :-0
 

Для администраторов

Статистика форума

Темы
44.766
Сообщения
233.685
Пользователи
78.501
Новый пользователь
Erich Gasser
#