Добрый день. Наблюдаю следующую проблему при использовании функции диалплана VOLUME. В процессе вызова линии устанавливаются новые параметр TX и RX(функция VOLUME), для регулирования громкости в канале. При обычном вызове SIP/пользователь/номер настройки принимаются и громкость выставляется нормально. При использовании приложения FollowMe, которое вызывает этот же номер в том же контексте, происходит соединения при этом аббоненты друг друга иногда слышат, иногда нет. После того как звонок сбрасывается Asterisk перестает принимать запросы на соединения, не работают в консоли команды core show channels, sip show peers и т.д. Возникает ощущение что Asterisk завис, но продолжает принимать соединения. Уладаление из контекста функций VOLUME полностью решает проблему. Обращаю особое внимание что зависание наблюдается только при использовании VOLUME в сочетании с FollowMe. В LOG полсе данных о звонке ничего нет(обычный звонок, но я обратил внимание что FollowMe использует локальный канал).
Часть extensions.ael:
context outgoing {
12345678901 => {
Set(VOLUME(TX)=5);
Set(VOLUME(RX)=2);
Gosub(outgoingVOIP,1(${EXTEN}));
};
outgoingVOIP => {
Dial(SIP/sip_trunk/${arg1},,tTwWg);
if ("${DIALSTATUS}" = "BUSY") {
Busy(5);
};
};
};
В sip.conf смысла что-либо менять нет, так как без FollowMe звонок идет корректно.
При этом если организовать звонок данного характера через dialplan, то звонок обрабатывается нормально и сервер не "зависает":
== Using SIP RTP CoS mark 5
-- Executing [12345678901@outgoing:1] Dial("SIP/test-phone-00000004", "Local/888@outgoing/n") in new stack
-- Called Local/888@outgoing/n
-- Executing [888@outgoing:1] Set("Local/888@outgoing-e068;2", "VOLUME(TX)=5") in new stack
-- Executing [888@outgoing:2] Set("Local/888@outgoing-e068;2", "VOLUME(RX)=2") in new stack
-- Executing [888@outgoing:3] Gosub("Local/888@outgoing-e068;2", "outgoingVOIP,1(12345678901)") in new stack
-- Executing [outgoingVOIP@outgoing:1] Dial("Local/888@outgoing-e068;2", "SIP/sip_trunk/12345678901,,tTwWg") in ne\
w stack
== Using SIP RTP CoS mark 5
-- Called SIP/sip_trunk/12345678901
-- SIP/sip_trunk-00000005 is ringing
-- SIP/sip_trunk-00000005 is making progress passing it to Local/888@outgoing-e068;2
-- Local/888@outgoing-e068;1 is ringing
-- Local/888@outgoing-e068;1 is making progress passing it to SIP/test-phone-00000004
-- SIP/sip_trunk-00000005 answered Local/888@outgoing-e068;2
-- Local/888@outgoing-e068;1 answered SIP/test-phone-00000004
== Spawn extension (outgoing, 12345678901, 1) exited non-zero on 'SIP/test-phone-00000004'
== Spawn extension (outgoing, outgoingVOIP, 1) exited non-zero on 'Local/888@outgoing-e068;2'
extensions.ael:
12345678901 => {
Dial(Local/888@outgoing/n);
};
888 => {
Set(VOLUME(TX)=5);
Set(VOLUME(RX)=2);
Gosub(outgoingVOIP,1(12345678901));
}
outgoingVOIP => {
Dial(SIP/sip_trunk/${arg1},,tTwWg);
if ("${DIALSTATUS}" = "BUSY") {
Busy(5);
Спасибо за комментарии и варианты исправления данной проблемы. }; };
По описанию - самый обычный баг. Совет универсальный - если есть более новая версия, попробовать обновить. Если есть возможность - составить bug report на issues.asterisk.org
FollowMe отмечен как модуль с гарантированной поддержкой, при наличии вашего интереса к исправлению проблемы - она будет решена
Задан: 2011-11-28 13:31:36 +0400
Просмотрен: 916 раз
Обновлен: Nov 29 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
А где собственно виновный ? Где FollowMe ?
zzuz ( 2011-11-28 13:48:00 +0400 )редактироватьИ где версия * ?
amonra ( 2011-11-28 16:18:21 +0400 )редактировать