четверг, 22 декабря 2016 г.

Asterisk (FreePBX Elastix) некорректный "Канал источник" (Src/Source Channel) в таблице.CDR

Когда к Asterisk подключается два и более транка с одного IP адреса.
При входящих звонках "Канал источник" (Src/Source Channel) отображается первый SIP-транк по списку в конфигурации для IP адреса сервера оператора, такая логика была заложена разработчиками системы.

Решение данной проблемы было реализовано в Asterisk 11 версии.

Из описание к новой версии:

"Asterisk 11: Add support to realtime for the ‘callbackextension’ option. When multiple peers exist with the same address, but differing callbackextension options, incoming requests that are matched by address will be matched to the peer with the matching callbackextension if it is available."

Для правильной работы в настройках транка FreePBX или Elastix необходимо убрать строку Register String и в PEER Details добавить параметр:

callbackextension=<DID-номер, который был в Register String>

*Соответственно следует обратить внимание на параметр insecure:

insecure=port ; Разрешить проверку соответствия транка (peer) по ip-адресу, номер порта игнорируется
insecure=invite ; Отключить аутентификацию входящих сообщений INVITE
insecure=port,invite ; (оба условия)

вторник, 20 декабря 2016 г.

Посмотреть все модели телефонов подключенные к серверу Asterisk.

В некоторых случаях может возникнуть необходимость собрать информацию о устройствах, которые подключены к серверу Asterisk. Например, нужно получить список зарегистрированных устройств, их модели, IP-адреса и другую информацию, связанную с конфигурацией SIP-устройств. В этой статье приведены несколько команд, которые помогут вам эффективно собрать такую информацию.

1. Получение списка моделей всех зарегистрированных аппаратов

Для того чтобы увидеть модели всех зарегистрированных SIP-устройств на сервере Asterisk, можно использовать следующую команду:


for a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do asterisk -rx "sip show peer $a"; done | grep Useragent
Разбор команды:
  • asterisk -rx "sip show peers" — эта команда выводит информацию о всех зарегистрированных SIP-устройствах.
  • grep "OK" — фильтрует вывод, оставляя только те устройства, которые успешно зарегистрированы.
  • cut -f1 -d/ — извлекает имя устройства, разделяя строку по символу /.
  • asterisk -rx "sip show peer $a" — выполняет запрос для каждого устройства, получая его подробную информацию.
  • grep Useragent — фильтрует вывод, показывая только строку с информацией о модели устройства (параметр Useragent).

Таким образом, команда вернет список всех устройств, зарегистрированных на сервере, с их моделями, если они указаны в поле Useragent.

2. Получение списка всех зарегистрированных SIP-экстенов с IP-адресами

Чтобы получить информацию о зарегистрированных SIP-экстенах и их IP-адресах, можно использовать следующую команду:


for a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do asterisk -rx "sip show peer $a"; done | grep Contact
Разбор команды:
  • Вся структура команды аналогична первой, но вместо фильтрации по Useragent используется фильтрация по Contact, которая выводит информацию о текущем IP-адресе устройства.
  • Результат команды будет содержать список всех зарегистрированных SIP-устройств с их IP-адресами.

3. Поиск телефонов по конкретной модели (например, Yealink)

Если вам нужно найти все устройства определенной модели, например, телефоны Yealink, можно использовать команду с дополнительной фильтрацией по строке Useragent. Команда будет выглядеть так:


for a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do asterisk -rx "sip show peer $a" | grep -E "Useragent|Contact" done | grep "Yealink"
Разбор команды:
  • В первой части команды мы получаем список всех зарегистрированных SIP-устройств.
  • Для каждого устройства выполняется запрос его подробной информации (включая параметры Useragent и Contact).
  • Далее, мы фильтруем вывод по ключевым словам "Useragent" и "Contact", чтобы получить только нужную информацию.
  • Используя grep "Yealink", мы отфильтровываем устройства, которые соответствуют модели Yealink.

Если вам нужно искать телефоны другой модели, достаточно заменить "Yealink" на имя другой модели, например, "Grandstream", чтобы получить устройства этой марки.

Использование таких команд позволяет оперативно собирать информацию о зарегистрированных SIP-устройствах, моделях телефонов, IP-адресах и другой важной информации для администрирования серверов Asterisk. Эти команды помогут вам эффективно управлять сетью устройств и отслеживать их состояние.

среда, 14 декабря 2016 г.

Маршрутизация входящих DID по полю заголовка SIP "to" (Asterisk sip to header)

Данная заметка будет полезна для тех. кто настраивает транк с оператором VoIP с регистрацией, и в транке провайдер отдает несколько номеров.

Для маршрутизации необходимо прописать следующий кусок диалплана.

exten => _.,1,Set(GROUP()=OUT_2)
exten => _.,2,Set(NUM=${SIP_HEADER(TO):5})
exten => _.,3,Set(NUM=${CUT(NUM,@,1)})                                                         
exten => _.,n,Goto(from-trunk,${NUM},1)

Для FreePBX и Elastix добавляем кусок в файл extensions_override_freepbx.conf:

[from-trunk-sip-НАЗВАНИЕ-ВАШЕГО-ТРАНКА]
include => from-trunk-sip-НАЗВАНИЕ-ВАШЕГО-ТРАНКА
exten => _.,1,Set(GROUP()=OUT_2)
exten => _.,2,Set(NUM=${SIP_HEADER(TO):5})
exten => _.,3,Set(NUM=${CUT(NUM,@,1)})                                                         
exten => _.,n,Goto(from-trunk,${NUM},1)

понедельник, 12 декабря 2016 г.

Asterisk: очистить зависшие каналы (SIP channel hangup)

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

Что делаем?
Заходим в консоль CLI Asterisk:
asterisk -rvv

Убиваем канал:

channel request hangup [Нажимаем TAB]

Выбираем зависший канал и нажимаем Enter.

вторник, 17 мая 2016 г.

Автоматический дозвон до абонента. Asterisk auto dialer AMI или Call files.


Данный пример вызывает внешнего абонента через SIP транк, когда абонент поднимет трубку вызов поступает на внутренний экстеншин. После того как внешний абонент поднял трубку, он слышит гудки посыла вызова пока внутренний абонент не поднимет трубку.

Action: Originate
Channel: SIP/74991234566@trunk-name
Context: outgoing
Exten: 100
Priority: 1
Callerid: 100
Variable: SIPADDHEADER="Call-Info:\;answer-after=0"

Подробнее о параметрах:
http://asterisk.ru/knowledgebase/Asterisk+auto-dial+out

четверг, 5 мая 2016 г.

Настройка LinkSys SPA 2102 21xx 2101. Сброс на заводские настройки.

Для того чтобы войти в меню конфигурирования через телефонную трубку, необходимо подключить телефон к порту line1. После того как вы наберете четыре звездочки (****), должно прозвучать уведомление "Linksys configuration menu...", после чего вы сможете вводить команды.

Как войти в режим конфигурации Linksys PAP2T и управлять настройками через телефонную трубку

Краткая инструкция:

Код сброса на заводские настройки:

**** 73738#1

Включение веб-интерфейса на порту internet:

**** 7932#1#1

Полезные команды:

  • ******** — для входа в меню.
  • 100# — узнать, включен ли DHCP.
  • 101#0#1# — переключение на статический IP.
  • 101#1#1# — переключение на динамический IP.
  • 110# — прослушать текущий IP-адрес.
  • 111#1921680*1#1# — ввод IP-адреса (DHCP должен быть выключен).
  • 120# — прослушать Netmask.
  • 121#255255255*0#1# — ввод NetMask.
  • 130# — прослушать IP-адрес шлюза (Gateway).
  • 130#1921680*1#1# — ввод IP-адреса шлюза.
  • 160# — прослушать IP-адрес DNS.
  • 161#21317035*180#1# — ввод DNS.
    • 1 — да, подтвердить.
    • 0 — нет, отменить.
  • 732668 — перезагрузка устройства.
  • 73738 — сброс на заводские настройки (1 — подтвердить, * — отменить).

Внимание! После каждой операции необходимо набирать #.


Примечания:

  • Для сброса устройства на заводские настройки используется команда: (linksys 2102 factory reset).
  • Для восстановления устройства в дефолтное состояние используйте команду: (linksys 2102 reset to default).

Подробная инструкция:

Адаптеры VoIP, такие как Linksys PAP2T, остаются популярными устройствами в системах интернет-телефонии (VoIP) благодаря своей надежности, простоте использования и доступной цене. Эти устройства позволяют подключить обычный аналоговый телефон к IP-сети и использовать его, как полноценную SIP-установку.

Одной из удобных и довольно уникальных особенностей PAP2T является возможность конфигурирования устройства через телефонную трубку, подключённую к одному из FXS портов (обычно Line1). Это может быть полезно, если нет доступа к веб-интерфейсу или если IP-адрес устройства неизвестен.


📞 Вход в меню конфигурации через телефон

Чтобы войти в конфигурационное меню Linksys PAP2T с помощью телефонной трубки:

  1. Подключите аналоговый телефон к порту Line1.

  2. Снимите трубку и дождитесь гудка.

  3. Наберите четыре звездочки (****).
    После этого прозвучит голосовое сообщение:
    "Linksys configuration menu..."

  4. Теперь вы можете вводить команды.

Эта система управления построена на тональном наборе (DTMF). Каждая команда должна завершаться символом #, чтобы устройство приняло её. Если вводите значения (например, IP-адрес), вместо точек используйте звёздочку *.


🔧 Основные команды конфигурации

Вот список полезных команд, которые можно использовать в меню:

КомандаНазначение
****Повторный вход в конфигурационное меню
100#Проверка включения DHCP
101#0#1#Переключение на статический IP
101#1#1#Переключение на динамический IP (DHCP)
110#Прослушивание текущего IP-адреса
111#1921680*1#1#Задание статического IP-адреса (DHCP должен быть выключен)
120#Прослушать текущую маску подсети (Netmask)
121#255255255*0#1#Ввести маску подсети
130#Прослушать IP-адрес шлюза (Gateway)
131#1921680*1#1#Ввести шлюз
160#Прослушать текущий DNS
161#21317035*180#1#Ввести DNS-сервер

Для подтверждения операций:

  • Нажмите 1Да

  • Нажмите 0Нет

  • Нажмите *Отмена


🛠 Системные команды

КомандаНазначение
73738#1Сброс устройства к заводским настройкам
732668#Перезагрузка устройства
7932#1#1Включение веб-интерфейса на порту Internet

⚠️ Внимание! После каждой операции необходимо нажимать #, иначе команда не будет принята устройством.


💡 Интересные факты и тонкости

  • Зачем нужно управление по телефону?
    Такая возможность особенно полезна в ситуациях, когда устройство не видно в сети (неизвестен IP или выключен DHCP) и нет доступа к его веб-интерфейсу. Конфигурация через трубку — настоящий "спасательный круг" в таких случаях.

  • Почему * вместо точки в IP-адресе?
    Потому что телефонный номерной набор не поддерживает символы типа точки, а * распознаётся как разделитель октетов IP-адреса.

  • Порт Internet и веб-интерфейс
    Некоторые прошивки Linksys PAP2T по умолчанию отключают веб-доступ на порту Internet (WAN). Команда 7932#1#1 активирует его, что удобно для удалённого управления.

  • Разница между reset и factory reset

    • reset to default возвращает устройство в первоначальное состояние, сохранив текущую прошивку и базовые настройки.

    • factory reset полностью сбрасывает конфигурацию и возвращает заводские параметры, включая доступ по умолчанию.

  • Поддержка только тонального набора (DTMF)
    Импульсный (релейный) набор не поддерживается, так что обязательно используйте телефоны с тональным набором.


🧪 Практический совет

Если вы потеряли доступ к устройству, а веб-интерфейс отключён, всегда держите под рукой аналоговый телефон. Через меню трубки можно восстановить доступ за считанные минуты.


📝 Заключение

Linksys PAP2T — это не просто адаптер, а настоящий мини-компьютер с мощной системой управления. Возможность конфигурирования через телефон — интересный рудимент старых VoIP-времён, который до сих пор отлично работает и спасает в критических ситуациях. А знание этих тонкостей позволяет не только сэкономить время, но и избежать ненужной перепрошивки или замены устройства.

суббота, 26 марта 2016 г.

Настройка и прошивка телефона Avaya 4620 для подключения к Asterisk.

Для того чтобы телефон Avaya работал с сервером Asterisk необходимо перепрошить телефон на прошивку с поддержкой SIP. Для этого нужно загрузить в телефон сначала переходную прошивку, после чего он сможет загрузить прошивку с SIP. 

Для того чтобы телефон Avaya работал с сервером Asterisk, необходимо провести обновление прошивки, установив версию с поддержкой SIP. Вот подробный процесс обновления прошивки:

  1. Загрузка переходной прошивки
    В первую очередь необходимо установить специальную переходную прошивку на телефон Avaya. Она позволяет подготовить устройство для дальнейшей загрузки SIP-совместимой прошивки. Переходная прошивка выполняет несколько ключевых функций:

    • Подготовка системы для загрузки основной SIP-версии.
    • Обеспечение совместимости с серверами и протоколами, необходимыми для работы с SIP.
  2. Загрузка SIP-совместимой прошивки
    После того как телефон загрузит переходную прошивку, можно установить прошивку с поддержкой SIP. SIP-протокол необходим для взаимодействия с сервером Asterisk, обеспечивая стабильную и эффективную работу телефона в системе VoIP. SIP-прошивка позволяет:

    • Подключение к серверу Asterisk для голосовой связи.
    • Поддержка современных функций связи и интеграции с различными серверами и услугами.

Номера прошивок

  • Переходная прошивка: обычно указывается номер версии, которая предназначена именно для подготовки телефона к работе с SIP. Для каждого устройства этот номер может отличаться, поэтому следует обратиться к официальному руководству Avaya для точной информации.
  • SIP-совместимая прошивка: версия прошивки, поддерживающая SIP-протокол. Например, для модели 9600 Series телефонных аппаратов может быть актуальной прошивка версии 6.7.x или выше, но это зависит от конкретной модели устройства и требований Asterisk.

Рекомендации:

  • Перед загрузкой прошивки рекомендуется проверить, что телефон поддерживает соответствующие версии и соблюдены все технические требования.
  • Для получения точных номеров прошивок, а также информации о совместимости, обратитесь к официальному сайту Avaya или в документацию к вашему телефону.

Надеюсь, эта информация поможет вам настроить телефон Avaya для работы с сервером Asterisk.


Для настройки и прошивки телефона Avaya 4620 для подключения к Asterisk, выполните следующие шаги:

1. Подготовка

  1. Убедитесь, что у вас есть:
    • Доступ к веб-интерфейсу Asterisk (если требуется).
    • Телефон Avaya 4620 с последней прошивкой.
    • Сервер Asterisk с настроенным SIP-ресурсом.
    • Подключение к сети (локальной или через VPN).

2. Настройка Asterisk

  1. Создайте SIP-учетную запись для телефона Avaya в конфигурации Asterisk.

    • Откройте файл sip.conf на сервере Asterisk.
    • Добавьте следующую строку для нового устройства (замените значения на свои):
      [avaya4620] type=friend secret=yourpassword host=dynamic context=from-internal callerid="Avaya 4620" <1001>
    • Где:
      • secret — это пароль для SIP-аккаунта.
      • host=dynamic — указывает, что телефон будет получать IP-адрес динамически.
      • context=from-internal — указывает контекст для обработки звонков.
  2. Настройка маршрутов для SIP (если необходимо):

    • В extensions.conf добавьте маршруты для обработки звонков:
      [from-internal] exten => 1001,1,Dial(SIP/avaya4620) exten => 1002,1,Dial(SIP/avaya4620)

3. Настройка телефона Avaya 4620

  1. Получите IP-адрес телефона:

    • Подключите телефон к сети и включите его.
    • Для получения IP-адреса телефона, наберите # (звездочка), затем 0 на телефоне.
    • После этого, в меню устройства, выберите "Network Configuration" или подобную опцию для отображения IP-адреса.
  2. Доступ к веб-интерфейсу:

    • Введите IP-адрес телефона в браузере.
    • Войдите в веб-интерфейс, используя стандартный логин и пароль (обычно, логин: admin, пароль: admin).
  3. Настройка SIP:

    • Перейдите в раздел "SIP Settings".
    • Установите следующие параметры:
      • SIP Server: укажите IP-адрес или доменное имя сервера Asterisk.
      • SIP Port: используйте порт по умолчанию 5060, если не настроено иначе.
      • SIP Account: введите учетные данные, которые вы создали в Asterisk (например, avaya4620).
      • SIP Password: введите пароль, указанный в sip.conf.
    • Включите SIP в настройках телефона (если это необходимо).
  4. Дополнительные настройки (если нужно):

    • Убедитесь, что кодеки, используемые на телефоне, совпадают с кодеками на сервере Asterisk (например, G.711).
    • Настройте другие параметры в зависимости от специфики вашей сети и настроек Asterisk.

4. Проверка и тестирование

  1. Перезагрузите телефон.

    • После внесения всех изменений перезагрузите телефон для применения настроек.
  2. Проверка регистрации SIP:

    • На сервере Asterisk выполните команду sip show peers, чтобы проверить, зарегистрирован ли телефон.
    • В веб-интерфейсе телефона вы также должны увидеть статус регистрации (например, "Registered").
  3. Тестирование звонков:

    • Попробуйте позвонить на номер, связанный с этим телефоном (например, 1001), и проверьте, что звонки проходят успешно.

5. Проблемы и устранение неполадок

  1. Не удается зарегистрировать телефон:

    • Проверьте настройки SIP на телефоне и убедитесь, что пароль и сервер правильно настроены.
    • Убедитесь, что в файле sip.conf на Asterisk добавлен правильный контекст и настройки.
  2. Нет звука во время звонков:

    • Убедитесь, что кодеки на телефоне и сервере Asterisk совпадают.
    • Проверьте, нет ли проблем с NAT (если сервер и телефон находятся в разных сетях).

Если все шаги выполнены корректно, телефон Avaya 4620 должен быть настроен и готов для работы с Asterisk.