По докам Raname должен переименовывать канал (SIP/107-00000007) в (Parking/SIP/107-00000007<zombie>), но если канал переименован, то все старые имена должны стать по логике невалидными, но далее в логах Asterisk использует исходный канал (SIP/107-00000007) не смотря та то что он переименован (Event: Rename)
в (Parking/SIP/107-00000007<zombie>).
Не могу понять логику события Rename.
Может быть надо как-то парсить Channel считая всё, что вне паттерна SIP/XXX-XXXXXXXX какими-то метаданными?
Или считать что имя канала существует только в рамках Uniqueid
?
Должна же быть где-то исчерпывающая дока по этому вопросу?
Подскажи пожалуйста как понять логику события AMI Rename
с полем Channel
?
Пример:
Event: Rename
Privilege: call,all
Timestamp: 1406088024.809001
Channel: SIP/107-00000007
Newname: SIP/107-00000007<masq>
Uniqueid: 1406088010.9
Event: Rename
Privilege: call,all
Timestamp: 1406088024.809037
Channel: SIP/107-00000007<masq>
Newname: Parking/SIP/107-00000007<zombie>
Uniqueid: 1406088010.9
//После этих событий кладу трубку и..
Event: Hangup
Privilege: call,all
Timestamp: 1406088040.480277
Channel: SIP/107-00000007
Uniqueid: 1406088024.11
CallerIDNum: 107
CallerIDName: 107
ConnectedLineNum: 108
ConnectedLineName: 108
AccountCode:
Cause: 0
Cause-txt: Unknown
Полный текст лога: ссылка на лог
Hangup на зомби канале. потом дальше идет переименованный
вообще это все очеь зависит от версии и подверсии астериска. я бы не полагался на такие евенты. есть же cel,queuelog, userevent и так далее
Задан: Jul 24 '14
Просмотрен: 830 раз
Обновлен: Jul 28 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
должна быть дока? с чего бы? вот возьмите напишите ее. это как требовать доку по траектории перемещения цилиндров в двигателе автомобиля. а че. почему нет доки?
meral (Jul 24 '14)editпотому что у нормальных вендоров типа CISCO, AVAYA, GENESYS есть доки такого типа. я кончено понимаю что OpenSource это бесплатный сыр в мышеловке сервисного обслуживания, но надежду в светлое и доброе, где нет гавнокода, я не теряю ))
CallCenterCoder (Jul 24 '14)editнаверное, стоит пользоваться оборудованием "нормальных" вендоров.. или быть кодером, который разбирается в теме..
svoy (Jul 24 '14)editу астериска есть круче дока. исходный код. у "нормальных вендоров" ничего не меняется годами. смотрите исходники. просто евенты это в общемто для отмазки. типа "хотели евенты - вот получайте" для надежного использования надо правильный диалплан. лезьт в евенты без опыта работы с астериском меньше пары лет не рекомендуется.
meral (Jul 24 '14)editконечно не рождаются. но наивно пологать что вы сможете писать сложные приложения не дочитав до конца книжку. вобщемто тут как и в языке программирования. "разбиратся" вы будете не раньше пары месяцев експерементов.
meral (Jul 24 '14)editmeral что вы хотели сказать упомянув "cel,queuelog, userevent" и как вы их предлагаете использовать в AMI? А всётаки почему Rename делает новое имя каналу, а используется старое? Какое имя на момент Hungup правильное для канала или у канала теперь много имен?
CallCenterCoder (Jul 24 '14)editвам же ответили, что полагаться на ивенты наивно.. вы выбрали неверное направление и зря тратите свое время и силы
svoy (Jul 24 '14)editсмотрите. есть проект fop2. разрабатывается лет 5. имеет проблемы с некоторыми типами евентов. но вы же гений а они идиоты.
meral (Jul 24 '14)editой, извините. синдром старожила. fop первая версия была выпущена в 2004 в сентябре. тоесть 10 лет разработки. и не один а много людей.
meral (Jul 24 '14)editКажется разобрался. Спасибо исходникам fop говорящим сами за себя:
elsif ( $evento eq "rename" ) {
... if ( $nuevo_nombre =~ /<ZOMBIE>/ ) {
logdebug( "$heading $nuevonombre, asterisk bug, sometimes misses the hangup, so we fake it", 64 )
... }
и ещё:
if ( $canalsesion =~ /</ ) {
# "<" Is an invalid character for a channel name, unless its a zombie # or masq, in that case we should discard them
log_debug( "$heading canalsesion $canalsesion (Se supone que no debo tratar zombies?)", 32 )
CallCenterCoder (Jul 24 '14)edit" я пытаюсь разобраться, но мне нужно использовать не только оборудование "нормальных" вендоров, но и альтернативных типа астериск" - перл дня. Я бы еще адекватно на подобный флэйм смотрел лет 5 назад, сейчас уже вызывает лишь улыбку. Молодой человек, просто есть кодеры, а есть Девелоперы. большая это разница.
Zavr2008 (Jul 26 '14)editПод "нормальными" я подразумеваю топовых в магическом квадранте гартнер.
CallCenterCoder (Jul 28 '14)editКороче правильный ответ: Серия из трех событий Rename, где в двух последних теги <masq>, <zombie> говорят о том что канал был клонирован. При удачном клонировании они всегда предшествуют Masquerade. Поэтому Hangup происходит по двум каналам т.е. по обоим клонам канала.
CallCenterCoder (Jul 28 '14)editура. магия начала применятся.
meral (Jul 28 '14)editmeral где магия?
CallCenterCoder (Jul 28 '14)edit