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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2013-01-25 16:40:50 +0400

Snegr Gravatar Snegr

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

IAX2 с автоматическим резервированием

Добрый день. день. Есть небольшая сетка с с тремя устройствами на основе asterisk. asterisk. Одно из них является абонентским абонентским выносом с платами FXS, а два других других для него являются шлюзами в дальнейшие дальнейшие направления - один основной, другой другой резервный. IP-адреса везде статические статические и прописаны в файле iax.conf. iax.conf. Вопрос в в следующем, можно ли сделать сделать переключение на резервный шлюз шлюз автоматически? У меня пока не не получилось, так IP-адерса прописаны прописаны жестко и к ним привязаны (точнее к к названиям соответствующих соответствующих IAX2-направлений) строчки телефонной маршрутизации. телефонной маршрутизации. Asterisk старый и в нем нем используется zapata, если ответ будет будет по dahdi, то по-возможности укажите укажите аналог для zapata. zapata. Спасибо.

Сделал так. Всё работает кроме случая - оба канала выключены и идет звонок, проходит полный цикл и отбой, если быстро включить основной канал, то проходит 1-2 звонка на дальнюю станцию и отбой. Переход на резерв проходит с 3-4 сек. задержкой, как её изменить? exten => 100X,1,Set(MAXLINES=) exten => _100X,2,Set(TRUNK=IAX2/oms2) exten => 100X,3,Set(GROUP()=group2) exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next) exten => 100X,5,Dial(${TRUNK}/${EXTEN},,g) exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15) exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11) exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11) exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11) exten => _100X,10,Goto(15) exten => _100X,11,Set(TRUNK=IAX2/oms3) exten => 100X,12,Set(GROUP()=group2) exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next) exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g) exten => _100X,15,Busy(10) exten => _100X,16,Hangup() exten => _100X,n(next),Busy(10) exten => _100X,n,Hangup()

Конструкция изобретена не мной. :-)

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

Сделал так. Всё работает кроме случая - оба канала выключены и идет звонок, проходит полный цикл и отбой, если быстро включить основной канал, то проходит 1-2 звонка на дальнюю станцию и отбой. Переход на резерв проходит с 3-4 сек. задержкой, как её изменить? exten => 100X,1,Set(MAXLINES=) exten => _100X,2,Set(TRUNK=IAX2/oms2) exten => 100X,3,Set(GROUP()=group2)

textarea

  • exten => _100X,1,Set(MAXLINES=)
  • exten => _100X,2,Set(TRUNK=IAX2/s1)
  • exten => _100X,3,Set(GROUP()=group2)
  • exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next) exten => 100X,5,Dial(${TRUNK}/${EXTEN},,g) exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15) exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11) exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11) exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,5,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15)
  • exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11)
  • exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11)
  • exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,10,Goto(15) exten => _100X,11,Set(TRUNK=IAX2/oms3) exten => 100X,12,Set(GROUP()=group2)
  • exten => _100X,11,Set(TRUNK=IAX2/s2)
  • exten => _100X,12,Set(GROUP()=group2)
  • exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,15,Busy(10)
  • exten => _100X,16,Hangup()
  • exten => _100X,n(next),Busy(10)
  • exten => _100X,n,Hangup()

Конструкция изобретена не мной. :-)

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

Сделал так. Всё работает кроме случая - оба канала выключены и идет звонок, проходит полный цикл и отбой, если быстро включить основной канал, то проходит 1-2 звонка на дальнюю станцию и отбой. Переход на резерв проходит с 3-4 сек. задержкой, как её изменить?

textarea

  • exten => _100X,1,Set(MAXLINES=)
  • exten => _100X,2,Set(TRUNK=IAX2/s1)
  • exten => _100X,3,Set(GROUP()=group2)
  • exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,5,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15)
  • exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11)
  • exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11)
  • exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,10,Goto(15)
  • exten => _100X,11,Set(TRUNK=IAX2/s2)
  • exten => _100X,12,Set(GROUP()=group2)
  • exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,15,Busy(10)
  • exten => _100X,16,Hangup()
  • exten => _100X,n(next),Busy(10)
  • exten => _100X,n,Hangup()

Конструкция изобретена не мной. :-)

P.S. Пытаюсь с трудом разобраться с местным редактированием текста. Сильно не бейте за это. :-)

нажмите, чтобы скрыть/показать версии 5
Добавил новую информацию.
редактировать

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

Сделал так. Всё работает кроме случая - оба канала выключены и идет звонок, проходит полный цикл и отбой, если быстро включить основной канал, то проходит 1-2 звонка на дальнюю станцию и отбой. Переход на резерв проходит с 3-4 сек. задержкой, как её изменить?

textarea

  • exten => _100X,1,Set(MAXLINES=)
  • exten => _100X,2,Set(TRUNK=IAX2/s1)
  • exten => _100X,3,Set(GROUP()=group2)
  • exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,5,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15)
  • exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11)
  • exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11)
  • exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,10,Goto(15)
  • exten => _100X,11,Set(TRUNK=IAX2/s2)
  • exten => _100X,12,Set(GROUP()=group2)
  • exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,15,Busy(10)
  • exten => _100X,16,Hangup()
  • exten => _100X,n(next),Busy(10)
  • exten => _100X,n,Hangup()

Случай экзотический, но здесь важнее разобраться почему так происходит и откуда берется задержка и как её можно контролировать. Конструкция экстенов изобретена не совсем мной. :-)

P.S. Пытаюсь с трудом разобраться с местным редактированием текста. Сильно не бейте за это. :-)

нажмите, чтобы скрыть/показать версии 6
Обновление по результатам эксперимента.
редактировать

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

Сделал так.

Всё работает кроме случая - оба канала канала выключены и идет звонок, проходит проходит полный цикл и отбой, если быстро быстро включить основной канал, то проходит проходит 1-2 звонка на дальнюю станцию и отбой. отбой. Переход на резерв проходит с 3-4 сек. сек. задержкой, как её изменить?

изменить?

Добавил проверку каналов IAX стало лучше - задержка при переходе на резерв пропала. Проблема с пропаданием канала немного изменилась: если канал пропадает во время звонка, то вызываемый телефон продолжает звонить, при снятии на нем трубки попадает в тишину, если трубку на этом аппарате положить, то через 2-4 секунды приходит повторный вызов уже по резервному каналу. Побороть эту задержку уже не получается, контроль канала IAX тут не срабатывает, во всяком случае с моими настройками в iax.conf

textarea

  • qualify=500
  • qualifyfreqok=500
  • qualifyfreqnotok=500

textarea

  • exten => _100X,1,Set(MAXLINES=)
  • exten => _100X,2,Set(TRUNK=IAX2/s1)
  • exten => _100X,3,Set(GROUP()=group2)
  • exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,5,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15)
  • exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11)
  • exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11)
  • exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,10,Goto(15)
  • exten => _100X,11,Set(TRUNK=IAX2/s2)
  • exten => _100X,12,Set(GROUP()=group2)
  • exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,15,Busy(10)
  • exten => _100X,16,Hangup()
  • exten => _100X,n(next),Busy(10)
  • exten => _100X,n,Hangup()

Случай экзотический, но здесь важнее разобраться почему так происходит и откуда берется задержка и как её автоматом перйти на резервный канал во время звонка/разговора (если это возможно) и что можно контролировать. сделать с задержкой, описанной выше? Конструкция экстенов изобретена не совсем мной. :-)

P.S. Пытаюсь с трудом разобраться с местным редактированием текста. Сильно не бейте за это. :-)

IAX2 с автоматическим резервированием

Добрый день. Есть небольшая сетка с тремя устройствами на основе asterisk. Одно из них является абонентским выносом с платами FXS, а два других для него являются шлюзами в дальнейшие направления - один основной, другой резервный. IP-адреса везде статические и прописаны в файле iax.conf. Вопрос в следующем, можно ли сделать переключение на резервный шлюз автоматически? У меня пока не получилось, так IP-адерса прописаны жестко и к ним привязаны (точнее к названиям соответствующих IAX2-направлений) строчки телефонной маршрутизации. Asterisk старый и в нем используется zapata, если ответ будет по dahdi, то по-возможности укажите аналог для zapata. Спасибо.

Сделал так.

Всё работает кроме случая - оба канала выключены и идет звонок, проходит полный цикл и отбой, если быстро включить основной канал, то проходит 1-2 звонка на дальнюю станцию и отбой. Переход на резерв проходит с 3-4 сек. задержкой, как её изменить?

Добавил проверку каналов IAX стало лучше - задержка при переходе на резерв пропала. Проблема с пропаданием канала немного изменилась: если канал пропадает во время звонка, то вызываемый телефон продолжает звонить, при снятии на нем трубки попадает в тишину, если трубку на этом аппарате положить, то через 2-4 секунды приходит повторный вызов уже по резервному каналу. Побороть эту задержку уже не получается, контроль канала IAX тут не срабатывает, во всяком случае с моими настройками в iax.conf

textarea

iax.conf

  • qualify=500
  • qualifyfreqok=500
  • qualifyfreqnotok=500

textarea

extensions.conf

  • exten => _100X,1,Set(MAXLINES=)
  • exten => _100X,2,Set(TRUNK=IAX2/s1)
  • exten => _100X,3,Set(GROUP()=group2)
  • exten => _100X,4,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,5,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,6,GotoIf($[${DIALSTATUS}=BUSY]?15)
  • exten => _100X,7,GotoIf($[${DIALSTATUS}=CHANUNAVAIL]?11)
  • exten => _100X,8,GotoIf($[${DIALSTATUS}=CONGESTION]?11)
  • exten => _100X,9,GotoIf($[${DIALSTATUS}=CANCEL]?11)
  • exten => _100X,10,Goto(15)
  • exten => _100X,11,Set(TRUNK=IAX2/s2)
  • exten => _100X,12,Set(GROUP()=group2)
  • exten => _100X,13,Gotoif($[${GROUPCOUNT(group2)} > ${MAXLINES}]?next)
  • exten => _100X,14,Dial(${TRUNK}/${EXTEN},,g)
  • exten => _100X,15,Busy(10)
  • exten => _100X,16,Hangup()
  • exten => _100X,n(next),Busy(10)
  • exten => _100X,n,Hangup()

Случай экзотический, но здесь важнее разобраться как автоматом перйти на резервный канал во время звонка/разговора (если это возможно) и что можно сделать с задержкой, описанной выше? Конструкция экстенов изобретена не совсем мной. :-)

P.S. Пытаюсь с трудом разобраться с местным редактированием текста. Сильно не бейте за это. :-)

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