діагностика asterisk

1. Як дізнатися, чи запущений asterisk

1.1 Локальна перевірка

Для того, щоб перевірити, чи запущений asterisk локально (на цьому ж комп'ютері), досить (це найнадійніший спосіб) виконати з командного рядка:
asterisk -rv

У разі успішного запуску з'явиться запрошення астеріска:

Наведене вище повідомлення означає, що виконані наступні умови:

  1. asterisk успішно встановлений на даному комп'ютері;
  2. служба астеріска запущена і працює (символи не відвалилася з помилкою);
  3. до Астеріск можна підключитися, принаймні теоретично.

1.2 Дистанційна перевірка

Для того, щоб віддалено перевірити, чи працює Астеріск, необхідно підключитися до нього. Для цього спочатку визначте, який порт прослуховує Астеріск. після чого підключіться до цього порту за допомогою будь-якого sip клієнта.

2. Користуйтеся автодоповнення астеріска

Теоретично, це не зовсім відноситься до діагностики asterisk, але по факту, значно прискорює процес діагностики (якщо знати про цю можливість).

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 (за умови, що бенкети з такими іменами присутні в системі).

При цьому Ви побачите:

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 (за умови, що бенкети з такими іменами присутні в системі).

При цьому Ви побачите:

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 варіанти:

  1. Підключаючись до asterisk CLI, виконайте рядок з додаванням літери "v":
    asterisk -rv
    asterisk -rvv
    asterisk -rvvvvvvvvvvvv
    При цьому кількість букв "v" вказує на рівень налагодження verbose: від verbose 1 до verbose 10 (і вище). Можна також підключитися до asterisk, відключивши відображенні такої інформації взагалі:
    asterisk -r
  2. Якщо у Вас вже відкритий asterisk CLI, то введіть у командному рядку астеріска:
    core set verbose 1
    або
    core set verbose 3
    .
    core set verbose 10
    Число після verbose відповідає за подробицю і кількість повідомлень. Число може бути і більше 10 (використовуйте автозаповнення asterisk).

Для відключення виведення повідомлень verbose наберіть в asterisk CLI:
core set verbose off

У режимі налагодження 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. Для цього існують такі команди:

10. Налагодження RTP

Після підняття трубки обома абонентами починається розмова. Для передачі розмови використовується протокол RTP. Щоб отримати детальну інформацію про обмін RTP-трафіком, можна використовувати налагодження RTP. Для цього існують такі команди:

У разі двостороннього розмови (а не автоматичного оповіщення наприклад) обмін 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)
.

Ви знаходитесь тут: Linux -> Asterisk -> Діагностика asterisk

Схожі статті