- Диагностика asterisk
- 1. Как узнать, запущен ли asterisk
- 1.1 Локальная проверка
- 1.2 Удаленная проверка
- 2. Пользуйтесь автодополнением астериска
- 3. Какой порт прослушивает asterisk (на каком порту висит астериск)
- 3.1 Как определить SIP порт asterisk
- 3.2 Как определить IAX2 порт asterisk
- 4. Диагностика пиров
- 4.1 Статус SIP пира (или нескольких пиров)
- 4.2 Подробная информация про SIP peer
- 4.3 Статус IAX2 пира (или нескольких пиров)
- 4.4 Подробная информация про IAX2 peer
- 5. Диагностика диалплана
- 5.1 Отобразить содержимое контекста
- 5.2 Отобразить содержимое экстена
- 5.3 Отобразить весь диалплан
- 5.4 Поиск экстена во всех контекстах
- 6. Диагностика пользователей
- 6.1 Отображение списка SIP пользователей
- 6.2 Отображение списка IAX2 пользователей
- 6.3 Подробная информация о SIP пользователе
- 7. Каналы и звонки
- 7.1 Отображение текущего списка активных каналов
- 7.2 Отображение информации о конкретном активном канале
- 7.3 Отображение количества текущих звонков и общего количества обработанных звонков
- 8. Отладка asterisk и уровни отладки
- 8.1 Verbose
- 8.2 Debug
- 9. Отладка SIP
- 10. Отладка RTP
- e3fi389
- RTFMLIAA: system management. always. everywhere.
- Search
- Blogroll
- Twitter Updates
- Archives
- Asterisk: change SIP peer status ‘unmonitored’
- Share this:
- Like this:
- Related
- 6 Comments
Диагностика asterisk
1. Как узнать, запущен ли asterisk
1.1 Локальная проверка
Для того, чтобы проверить, запущен ли asterisk локально (на этом же компьютере), достаточно (это самый надёжный способ) выполнить из командной строки:
asterisk -rv
В случае успешного запуска появится приглашение астериска:
Asterisk . Copyright (C) 1999 — . Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for details.
This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type ‘core show license’ for details.
=========================================================================
Connected to Asterisk . currently running on . (pid = . )
Приведенное выше сообщение означает, что выполнены следующие условия:
- asterisk успешно установлен на данном компьютере;
- служба астериска запущена и работает (не отвалилась с ошибкой);
- к астериску можно подключиться, по крайней мере теоретически.
1.2 Удаленная проверка
Для того, чтобы удаленно проверить, работает ли астериск, необходимо подключиться к нему. Для этого сначала определите, какой порт прослушивает астериск, после чего подключитесь к этому порту с помощью любого sip клиента.
2. Пользуйтесь автодополнением астериска
Теоретически, это не совсем относится к диагностике asterisk, но по факту, значительно ускоряет процесс диагностики (если знать об этой возможности).
Дело в том, что в командной строке астериска широко используется автодополнение команд (и параметров!). Набрав команду (или любой ее фрагмент), нажмите клавишу Tab (или знак вопроса — «?») — и asterisk предложит варианты дополнений. Если вариант только один, он сразу дополнит команду. Если несколько — отобразит список вариантов. Достаточно дописать еще несколько букв к команде, чтобы однозначно выбрать нужный Вам вариант — и снова нажимайте клавишу Tab.
Особенно полезно это в случае (например) отображения информации о каком-либо канале:
core show channel
3. Какой порт прослушивает asterisk
(на каком порту висит астериск)
3.1 Как определить SIP порт asterisk
Это можно определить локально, выполнив в консоли астериска (asterisk CLI) следующую команду:
sip show settings
Если астериск «висит» на UDP порту (обычно), то соответствующий порт Вы найдете в строке, начинающейся с «UDP Bindaddress», например:
UDP Bindaddress: 0.0.0.0:5060
Если же астериск «висит» на TCP порту (или вообще использует шифрование TLS), то искать надо строки «TCP SIP Bindaddress» и «TLS SIP Bindaddress» соответственно.
3.2 Как определить IAX2 порт asterisk
Это можно определить локально, выполнив в консоли астериска (asterisk CLI) следующую команду:
iax2 show provisioning
Номер порта, на котором «висит» asterisk, Вы найдете в строке «Bind Port» (обычно это порт 4569).
4. Диагностика пиров
4.1 Статус SIP пира (или нескольких пиров)
Для того, чтобы получить (краткую) информацию о sip пире, выполните в командной строке астериска следующую команду:
sip show peers like
например:
sip show peers like 1000
Так же Вы можете получить информацию о нескольких пирах. Используя слово like, Вы даете команду астериску отобразить все пиры, содержащие (в имени) указанную подстроку. Например, команда:
sip show peers like 100
Эта команда отобразит информацию о пирах с именами 100, 1000, 1001. 1009, 10000. 100099, а также 1100 (при условии, что пиры с такими именами присутствуют в системе).
При этом Вы увидите:
- Имя пира.
- IP адрес хоста, с которого зарегистрирован peer.
- Номер порта (со стороны пира), который используется для связи с астериском.
- Статус пира (Unmonitored, UNKNOWN, OK, . ). В случае, если у Вас отображается состояние Unmonitored — значит, пир включен (активен), но настройках этого пира (в файле sip.conf) не указан параметр qualify.
- Другую информацию.
4.2 Подробная информация про SIP peer
Для того, чтобы получить подробную информацию о SIP пире, выполните в командной строке астериска следующую команду:
sip show peer
например:
sip show peer 1000
4.3 Статус IAX2 пира (или нескольких пиров)
Для того, чтобы получить (краткую) информацию об IAX2 пире, выполните в командной строке астериска следующую команду:
iax2 show peers
например:
iax2 show peers like test-peer
Так же Вы можете получить информацию о нескольких пирах. Используя слово like, Вы даете команду астериску отобразить все пиры, содержащие (в имени) указанную подстроку. Например, команда:
iax2 show peers like 100
Эта команда отобразит информацию о пирах с именами 100, 1000, 1001. 1009, 10000. 100099, а также 1100 (при условии, что пиры с такими именами присутствуют в системе).
При этом Вы увидите:
- Имя пира.
- IP адрес хоста, с которого зарегистрирован peer.
- Номер порта (со стороны пира), который используется для связи с астериском.
- Статус пира (Unmonitored, UNKNOWN, OK, . ). В случае, если у Вас отображается состояние Unmonitored — значит, пир включен (активен), но настройках этого пира (в файле iax.conf) не указан параметр qualify.
- Другую информацию.
4.4 Подробная информация про IAX2 peer
Для того, чтобы получить подробную информацию об IAX2 пире, выполните в командной строке астериска следующую команду:
iax2 show peer
например:
iax2 show peer test-peer
5. Диагностика диалплана
5.1 Отобразить содержимое контекста
Отобразить содержимое контекста со всеми экстенами и командами:
dialplan show
Например:
dialplan show phones
5.2 Отобразить содержимое экстена
Чтобы отобразить все приоритеты и команды для нужного Вам экстена (точнее, для подходящего к этому экстену шаблона в указанном контексте), выполните следующую команду в asterisk CLI:
dialplan show @
например:
dialplan show 1000@phones
5.3 Отобразить весь диалплан
Чтобы отобразить весь диалплан (например, чтобы убедиться, что никаких «лишних» контекстов и экстенов в каких-то затесавшихся файлах нет) просто выполните команду:
dialplan show
5.4 Поиск экстена во всех контекстах
Вы также можете попробовать выполнить поиск нужного Вам экстена во всех контекстах. При этом будут отображены все шаблоны экстенов, под которые попадает Ваш экстен, во всех контекстах диалплана. Просто выполните команду:
dialplan show @
Например:
dialplan show 1000@
6. Диагностика пользователей
6.1 Отображение списка SIP пользователей
Для отображения списка всех SIP пользователей asterisk, с их паролями, а также с основными параметрами (например, контекстами по умолчанию) воспользуйтесь командой:
sip show users
Эта команда отобразит всех SIP пользователей. Если нужно ограничиться отдельными группами пользователей, воспользуйтесь командой:
sip show users like
например:
sip show users like 100
6.2 Отображение списка IAX2 пользователей
Для отображения списка всех IAX2 пользователей asterisk, с их паролями, а также с основными параметрами (например, контекстами по умолчанию) воспользуйтесь командой:
iax2 show users
Эта команда отобразит всех IAX2 пользователей. Если нужно ограничиться отдельными группами пользователей, воспользуйтесь командой:
iax2 show users like
например:
iax2 show users like guest
6.3 Подробная информация о SIP пользователе
Для получения подробной информации об отдельном пользователе (такой как контекст, язык, callgrop/pickupgroup, CallerID, кодеки и так далее) выполните следующую команду:
sip show user
Например:
sip show user 1000
Для IAX2 пользователя такой информации не предоставляется.
7. Каналы и звонки
7.1 Отображение текущего списка активных каналов
Для отображения списка активных каналов, а также их количества (как правило, 1 звонок создает 2 активных канала), выполните команду:
core show channels
Самое главное назначение этой команды — по ней Вы сможете увидеть названия активных каналов и воспользоваться ими для выполнения следующей задачи: отобразить информацию о конкретном активном канале.
7.2 Отображение информации о конкретном активном канале
Для отображения подробной (действительно подробной — этой информации действительно много) информации о конкретном активном канале воспользуйтесь командой:
core show channel
Например:
core show channel SIP/1000-00000025
Для того, чтобы получить название канала, сначала отобразите список активных каналов, а затем укажите приведенную выше команду, пользуясь автодополнением команд asterisk.
7.3 Отображение количества текущих звонков и общего количества обработанных звонков
Для этого введите команду:
core show calls
Вы получите информацию как о текущем количестве звонков, так и об общем количестве обработанных звонков (с момента последнего запуска астериска).
8. Отладка asterisk и уровни отладки
8.1 Verbose
Verbose отвечает за отображение информации о протекающих в asterisk процессах: вызовах, их обработке, запуске call файлов, и т.п.
Для включения отображения такой информации есть 2 варианта:
- Подключаясь к asterisk CLI, выполните строку с добавлением буквы «v»:
asterisk -rv
asterisk -rvv
asterisk -rvvvvvvvvvvvv
При этом количество букв «v» указывает на уровень отладки verbose: от verbose 1 до verbose 10 (и выше). Можно также подключиться к asterisk, отключив отображении такой информации вообще:
asterisk -r - Если у Вас уже открыт asterisk CLI, то выполните в командной строке астериска:
core set verbose 1
или
core set verbose 3
.
core set verbose 10
Число после verbose отвечает за подробность и количество сообщений. Число может быть и больше 10 (используйте автозаполнение asterisk).
Для отключения вывода сообщений verbose наберите в asterisk CLI:
core set verbose off
8.2 Debug
В режиме отладки debug выводится информация, которая может быть более полезна для разработчиков.
Режим debug можно включить из командной строки asterisk:
core set debug 1
или
core set debug 3
.
core set debug 10
Число после debug отвечает за подробность и количество сообщений.
Для отключения вывода сообщений debug наберите в asterisk CLI:
core set debug off
9. Отладка SIP
Для того, чтобы получить подробную информацию об обмене SIP-пакетами, можно использовать отладку SIP. Для этого существуют следующие команды:
- Включить отладку SIP с отображением всех пакетов, проходящих через asterisk:
sip set debug on - Включить отладку SIP только для определенного пира:
sip set debug peer
например:
sip set debug peer 1000 - Включить отладку SIP для определенного IP адреса:
sip set debug ip 192.168.0.5 - Отключить отладку SIP:
sip set debug off
10. Отладка RTP
После поднятия трубки обоими абонентами начинается разговор. Для передачи разговора используется протокол RTP. Чтобы получить подробную информацию об обмене RTP-трафиком, можно использовать отладку RTP. Для этого существуют следующие команды:
- Включить отладку RTP с отображением всех пакетов, проходящих через asterisk:
rtp set debug on - Включить отладку RTP для определенного IP адреса:
rtp set debug ip 192.168.0.5 - Отключить отладку RTP:
rtp set debug off
В случае двустороннего разговора (а не автоматического оповещения например) обмен RTP пакетами должен идти в обе стороны, например так:
.
Got RTP packet from 192.168. 10284 (type 08, seq 020993, ts 3334415728, len 000160)
Sent RTP packet to 192.168. 10284 (type 08, seq 012334, ts 010240, len 000160)
Got RTP packet from 192.168. 10284 (type 08, seq 020994, ts 3334415888, len 000160)
Sent RTP packet to 192.168. 10284 (type 08, seq 012335, ts 010400, len 000160)
Got RTP packet from 192.168. 10284 (type 08, seq 020995, ts 3334416048, len 000160)
.
Источник
e3fi389
RTFMLIAA: system management. always. everywhere.
Search
Blogroll
Twitter Updates
Archives
- June 2021 (1)
- December 2020 (2)
- October 2020 (1)
- August 2020 (1)
- June 2020 (2)
- May 2020 (4)
- April 2020 (1)
- March 2020 (2)
- January 2020 (2)
- September 2019 (1)
- July 2019 (1)
- February 2019 (2)
- January 2019 (1)
- December 2018 (2)
- October 2018 (1)
- September 2018 (2)
- May 2018 (2)
- April 2018 (1)
- March 2018 (3)
- February 2018 (3)
- January 2018 (6)
- December 2017 (4)
- November 2017 (4)
- October 2017 (1)
- September 2017 (7)
- August 2017 (2)
- July 2017 (3)
- June 2017 (4)
- May 2017 (18)
- April 2017 (9)
- March 2017 (9)
- January 2017 (1)
- December 2016 (3)
- November 2016 (1)
- October 2016 (4)
- September 2016 (1)
- August 2016 (1)
- July 2016 (2)
- May 2016 (10)
- April 2016 (6)
- March 2016 (3)
- February 2016 (2)
- January 2016 (4)
- December 2015 (3)
- November 2015 (3)
- October 2015 (3)
- September 2015 (3)
- August 2015 (11)
- June 2015 (3)
- May 2015 (16)
- April 2015 (3)
- March 2015 (2)
- February 2015 (1)
- January 2015 (2)
- December 2014 (7)
- November 2014 (8)
- October 2014 (4)
- September 2014 (1)
- August 2014 (2)
- July 2014 (5)
- June 2014 (1)
- May 2014 (8)
- April 2014 (3)
- March 2014 (3)
- February 2014 (7)
- January 2014 (7)
- December 2013 (3)
- November 2013 (6)
- October 2013 (5)
- September 2013 (7)
- August 2013 (8)
- July 2013 (5)
- June 2013 (7)
- May 2013 (11)
- April 2013 (8)
- March 2013 (10)
- February 2013 (5)
- January 2013 (12)
- December 2012 (10)
- November 2012 (6)
- October 2012 (6)
- September 2012 (12)
- August 2012 (24)
- July 2012 (7)
- June 2012 (15)
- May 2012 (5)
- April 2012 (7)
- March 2012 (6)
- February 2012 (7)
- January 2012 (2)
- December 2011 (9)
- November 2011 (10)
- October 2011 (35)
- September 2011 (6)
- July 2011 (5)
- June 2011 (2)
- May 2011 (3)
- April 2011 (2)
- March 2011 (8)
- February 2011 (1)
Asterisk: change SIP peer status ‘unmonitored’
In that peer’s definition, put ‘qualify=yes’, and asterisk will check on it periodically ((or qualify = ).
Share this:
Like this:
Related
6 Comments
thanks, i put both in
Thank you, it works for me.
what does the time in ms signifies ?
If the device does not answer within the configured (or default) period (in ms) Asterisk considers the device off-line for future calls. This status can be checked by the SIPPEER function, and inversely this function will only provide status information for peers which have qualify=yes.
This feature may also be used to keep a UDP session open to a device that is located behind a network address translator (NAT).
Thanks for the clarification , I am just curious how can I use this to keep UDP sessopn open . Actually I am facing some issues with the devices because of bad network .
Источник