По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет, дорогой читатель! На этапе траблшутинга системные администраторы прибегают к просмотру и анализу лог – файлов Asterisk. В статье поговорим про причины отбоя вызова (hangupcause) в Asterisk, как их найти в лог – файле и что они означают.
Поиск Hangupcause
Подключаемся к нашему серверу IP – АТС по SSH. Открываем консоль и вводим следующую команду:
[root@asterisk ~]# grep -e '[CALLID].*HANGUPCAUSE' /var/log/asterisk/full
Здесь CALLID - это идентификатор вызова. Найти его очень просто. В лог – файле введите номер звонящего/вызываемого абонента и найдете примерно вот такую запись (в примере поиск осуществляется по номеру 89123456789):
[2017-02-08 18:58:03] VERBOSE[18823][C-00000009] pbx.c: Executing [recordcheck@sub-record-check:11] Goto("Local/89123456789@from-internal-00000007;2", "startrec") in new stack
Находим запись выше. Здесь, [C-00000009] - является идентификатором вызова.
После того, как Вы нашли hangupcause, его необходимо понять. Переходим к следующему шагу – интерпретация.
Все причины отбоя вызова в Asterisk
Ниже, в таблице, мы составили причины отбоя вызова и соответствующие для них коды SIP ответов с небольшим описанием:
Код отбоя (hangupcause)
Полученный SIP - ответ
Описание
1
410
Unallocated (unassigned) - неназначенный номер. Данная ошибка указывает, что вызываемый номер назначения не может быть вызван, по причине отсутствия маршрута до него. Как правило, данную ошибку возвращает провайдер телефонных услуг. Например, при звонка зарубеж, данная ошибка может возвращаться из-за отсутствия маршрута к номеру назначения.
2
500
No route to specified transit network - ошибка индицирует о том, что оборудование, сгенерировавшее данную ошибку получило запрос запрос на маршрутизацию вызова через неизвестную ей транзитную сеть. Вполне возможно, что данная сеть в целом не существует.
3
404
No route to destination - чисто "сетевая" ошибка. Обозначает отсутствие коннективити (маршрутизации) между сетями инициатора вызова и вызываемого абонента.
4
500
Send special information tone - вызываемый абонент не может быть вызван по причинам "долгосрочного характера", и звонящий должен получить специальный звуковой тон.
5
500
Misdialled trunk prefix - сигнализирует о том, что к вызываемому номеру был подставлен ошибочный телефонный префикс.
6
500
Channel unacceptable - проблемы на канале связи. Как правило это сетевая проблема.
7
500
Call awarded and being delivered in an established channel - индикация того, что пользователь получил входящий вызов и что пользователь уже имеет аналогичный вызов
8
500
Prefix 0 dialed but not allowed - префикс в начале номер "0" не разрешен
9
500
Prefix 1 dialed but not allowed - префикс в начале номер "1" не разрешен
10
—
Prefix 1 not dialed but required - префикс "1" подставлен в начало номера, но не является требованием
11
—
More digits received than allowed, call is proceeding - в вызываемом номере передано больше цифр, чем позволено на оборудовании передающим данный код отбоя
16
BYE
Normal call clearing - вызов был закончен естественным образом (кто - то из абонентов положил трубку)
17
486
User busy - индицирует, что вызываемый абонент не может принять вызов, так как находится в состоянии "Занят" (есть активный разговор)
18
480
No user responding - вызываемый абонент не ответил на сообщение о вызове (инициации) в течение определенного времени
19
480
T.301 expired: – User Alerted, No answer from user - аппарат вызываемого абонента звонил, но он не ответил на звонок
21
603
Call rejected - вызов отклонен
22
480
Number changed to number in diagnostic field - индицирует о том, что вызываемый номер более не существует. В сообщение так же может быть включен новый номер вызываемого абонента
23
—
Reverse charging rejected - вариант, когда за звонок платит принимающая вызов сторона. Данное сообщение обозначает отклонение такого вызова.
24
—
Call suspended - оборудование получило запрос на приостановку вызова
25
—
Call resumed - вызов возобновлен (продолжение 24 отбоя)
26
500
Non-selected user clearing - пользователю не был назначен входящий вызов
27
404
Destination out of order - данное сообщение индицирует о том, что телефонная сигнализация не может быть доставлена через выбранный NIC (сетевой интерфейс). В данном случае, проблема скорее всего кроется на L1 или на L2 уровне (физический или канальный)
28
484
Invalid number format or incomplete address - неправильный формат вызываемого номера или номер указан не полностью
29
501
EKTS facility rejected by network - проблема на уровне платы - устройство отклонено на уровне сети
30
500
Response to STATUS ENQUIRY - сообщение ответ на запрос о состоянии
31
404
Normal, unspecified - эта причина отбоя используется в случае, если другие причины (более конкретные) не были применены
33
—
Circuit out of order - построенный канал связи вышел из строя
34
503
No circuit/channel available - нет доступного для установления соединения канала связи
35
500
Destination unattainable - нет возможности доставить сообщение до получателя
36
500
Out of order - объект функционирует не корректно
37
500
Degraded service - уведомление о том, что сервис находится в некорректном состоянии
38
503
Network out of order - сетевое соединение функционирует не корректно (вероятная проблема на уровне L3)
39
500
Transit delay range cannot be achieved - требуемый диапазон задержки (время обработки, передачи) не может быть достигнут
40
500
Throughput range cannot be achieved - требуемый диапазон пропускной способности (передача сообщения) не может быть достигнута
41
503
Temporary failure - временная неработоспособность сервиса. "Временная" означает то, что пользователь может попробовать еще раз через некоторое время
42
503
Switching equipment congestion - в настоящее время, оборудование коммутации испытывает пиковые значения нагрузки и не может обработать запрос
43
500
Access information discarded - данная причина индицирует о том, что по запросу сеть (L3) не может доставить информацию о доступе к удаленному пользователю
44
503
Requested circuit channel not available - запрошенный канал связи недоступен
45
500
Preempted - данная причина указывает на то, что вызов был прерван
46
500
Precedence call blocked - означает, что вызываемый пользователь занят вызовов с более высоким приоритетом
47
503
Resource unavailable, unspecified - причина, отправляемая в том случае, если ни одна другая не была отправлена
49
500
Quality of service unavailable - использование QoS требование не доступно
50
500
Requested facility not subscribed - пользователь запросил услугу, которую он не может получить по причине отсутствия доступа к ней
51
—
Reverse charging not allowed - вариант, когда за звонок платит принимающая вызов сторона не разрешен для данного пользователя
52
—
Outgoing calls barred - исходящий вызов запрещен для абонента
53
500
Outgoing calls barred within CUG - данная причина означает, что несмотря то, что пользователь является членом закрытой группы юзеров (CUG - Closed User Groups) для совершения исходящего вызова, ему данная итерация запрещена
54
—
Incoming calls barred - входящий вызов запрещен для абонента
55
603
Incoming calls barred within CUG - данная причина означает, что несмотря то, что пользователь является членом закрытой группы юзеров (CUG - Closed User Groups) для приема входящего вызова, ему данная итерация запрещена
56
—
Call waiting not subscribed - пользователь не имеет права (не подписан) на услугу "Ожидание вызова"
57
501
Bearer capability not authorized - пользователь запросил расширение пропускной способности канала до оборудования, но не имеет права на подобные итерации
58
501
Bearer capability not presently available - пользователь запросил расширение пропускной способности канала до оборудования, но в данный момент данная функция не доступна
63
503
Service or option not available, unspecified - сообщение сообщает о недоступности услуги в том случае, если другие причины (более конкретные) не были отправлены пользователю
65
501
Bearer service not implemented - служба передачи (переноса) информации не реализована
66
500
Channel type not implemented - устройство, посылающее данную причину не поддерживает указанный типа канала связи
67
—
Transit network selection not implemented - не удалось совершить выбор транзитной сети
68
—
Message not implemented - данное сообщение не реализовано
69
500
Requested facility not implemented - эта причина указывает на то, что устройство, отсылающее эту причину не поддерживает запрашиваемые дополнительные услуги
70
500
Only restricted digital information bearer capability is available - данное сообщение указывает на то, что пользователь запросил неограниченный доступ к пропускной способности канала связи, но устройство поддерживает только с ограничениями
79
501
Service or option not implemented, unspecified - услуга или опция не реализована (когда другие причины не были отправлены)
81
500
Invalid call reference value - эта причина указывает на то, что устройство, отсылающее эту причину, получило сообщение с идентификатором вызова, который в настоящее время не используется на интерфейсе сети пользователя
82
500
Identified channel does not exist - эта причина указывает на то, что устройство, отсылающее эту причину, получило запрос на использование канала, который не активизирован на сетевом интерфейсе. Например, если пользователь использует в потоке Е1 (PRI) тайм – слоты с 1 по 12, а запросил использовать с 3 по 24 – будет сгенерирована данная причина
83
500
A suspended call exists, but this call identity does not - вызов существует, но отсутствуют идентификаторы для него
84
500
Call identity in use - оборудование получило запрос на приостановление вызова, содержащий идентификатор вызова, под которым вызов уже значится приостановленным
85
500
No call suspended - получен запрос на возобновление вызова с идентификатором звонка, который не числится в списке приостановленных
86
500
Call having the requested call identity has been cleared - получен запрос на возобновление вызова с идентификатором звонка, который был прерван в результате тайм - аута
87
603
Called user not member of CUG - вызываемый абонент не является членом закрытой группы юзеров (CUG - Closed User Groups)
88
404
Incompatible destination - система получила запрос на установление соединения с параметрами, которые не могут быть обслужены
89
—
Non-existent abbreviated address entry - не существующий адрес
90
500
Destination address missing, and direct call not subscribed - адрес назначения не указан, а опция директивного вызова недоступна для пользователя
91
500
Invalid transit network selection (national use) - получен индикатор транзитной сети, который имеет неверный формат (в рамках рекомендации Q.931)
92
—
Invalid facility parameter 93 Mandatory information element is missing - обязательный элемент информационного сообщения отсутствует
93
500
Message type non-existent or not implemented - получено устройством сообщение не может быть интерпретировано на оборудовании
95
404
Invalid message, unspecified - неправильное сообщение. Используется только тогда, когда другие (более конкретные сообщения) не были отправлены
96
500
Mandatory information element is missing - в полученном оборудованием сообщение отсутствует важное для его обработки поле
97
500
Message type non-existent or not implemented - тоже самое что и 93 код
98
500
Message not compatible with call state or message type non-existent or not implemented - сообщение не совместимо с текущим состоянием звонка или не может быть интерпретировано оборудованием
99
500
Information element nonexistent or not implemented - информационный элемент не существует или не может быть интерпретирован оборудованием
100
500
Invalid information element contents - элемент не может быть интерпретирован. Помимо этого, одно или более полей сообщения были закодировано алгоритмом, который не поддерживает оборудованием.
101
500
Message not compatible with call state - полученное сообщение не соответствует состоянию вызова
102
408
Recovery on timer expiry - процедура восстановления по причине тайм - аута параллельно с алгоритмами обработки ошибок
103
500
Parameter non-existent or not implemented – passed on - параметр не существует или не реализован на оборудовании
111
404
Protocol error, unspecified - ошибка, которая отправляется в случае, если более детальное сообщение не было отправлено
127
500
Internetworking, unspecified - на этапе установления соединения произошел сбой
Некоторые категории SIP провайдеров предоставляют авторизацию на своем софтсвиче по IP – адресу. Это означает, что только лишь получив запрос с выделенного IP – адреса, провайдер позволит Вам совершать и принимать звонки. О том, как настроить авторизацию у провайдера без регистрации по IP – адресу на Asterisk при помощи FreePBX 13 расскажем в статье.
Что мы имеем
Итак, предположим, провайдер связи предоставляет нам 1 SIP номер с авторизацией по IP. Адрес софтсвича будет 33.33.44.45. Помимо этого, провайдера выделяет нам подсеть 11.22.33.44/30. В это сети:
11.22.33.47 - широковещательный адрес
11.22.33.46 - адрес шлюза по умолчанию
11.22.33.45 - адрес, который провайдер выделяет нам для настройки на нашем Asterisk
11.22.33.44 - IP адрес сети
На нашем Asterisk уже существует текущее сетевое подключение через единственный NIC (Network Interface Card, сетевая карта). Для установки дополнительного IP, нам нужно будет добавить дополнительную сетевую карту, либо добавить виртуальный интерфейс (например, eth0:0). В нашем случае, в лаборатории, наш Asterisk развернут на виртуальной машине VmWare, поэтому, мы просто добавим виртуальный vNIC.
После добавления интерфейса, мы назначим ему IP – адрес 11.22.33.45 и создадим маршрут, в котором укажем отправлять весь трафик в сторону софтсвича 33.33.44.45 через новый интерфейс (eth1). Итак, переходим к настройке.
Настройка в консоли
Первым делом подключимся к консоли (CLI) нашего сервера IP – АТС. После добавления нового интерфейса, переходим к его настройке. Вводим команду:
[root@asterisk ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
Нажимаем «o» для редактирования и указываем следующие параметры:
DEVICE=eth1
BOOTPROTO=static
ONBOOT='yes'
IPADDR=11.22.33.45 //тут будет ваш IP - адрес
NETMASK=255.255.255.252
GATEWAY=11.22.33.46 //ваш адрес шлюза
HWADDR=00:15:5d:01:02:00 //mac – адрес NIC
ZONE=trusted
Нажимаем «:x!» и сохраняем изменения. После этого перезагружаем сетевую службу командой:
[root@asterisk ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: Determining if ip address 192.168.1.2 is already in use for device eth0...
[ OK ]
Bringing up interface eth1: Determining if ip address 11.22.33.45 is already in use for device eth1...
[ OK ]
Отлично. Оба сетевых интерфейса поднялись и работают. Теперь давайте настроим маршрут для отправки трафика в сторону софтсвича через интерфейс eth1. Для этого, откройте для редактирования файл маршрута следующей командой:
[root@asterisk ~]# touch /etc/sysconfig/network-scripts/route-eth1
[root@asterisk ~]# vim /etc/sysconfig/network-scripts/route-eth1
В файл добавляем следующую строчку:
33.33.44.44/30 via 11.22.33.45 dev eth1
Делаем рестарт сетевой службы командой service network restart и проверяем маршруты:
[root@asterisk ~]# ip route
33.33.44.44/30 via 11.22.33.45 dev eth1
Отлично, у нас появился нужный нам маршрут. Проверить его так же можно сделав трассировку, командой traceroute 33.33.44.45
Настройка транка в FreePBX
После того, как мы настроили маршруты и интерфейсы в операционной системе CentOS, переходим к настройке транка в графическом интерфейса FreePBX. Для этого, перейдем в раздел настроек Connectivity → Trunks и нажмем + Add Trunk, добавив SIP – транк. Заполняем любое значение в поле Trunk Name вкладки General и переходим к вкладке SIP Settings → Outgoing. Здесь, в поле Trunk Name укажите out, а в разделе PEER Details следующие параметры:
type=peer
port=5060
insecure=invite,port
host=33.33.44.45 //IP софтсвича Вашего провайдера
dtmfmode=rfc2833
context=from-trunk
canreinvite=no
allow=alaw,ulaw
qualify=yes
Нажимаем Submitи Apply Config. На этом все, остается только настроить маршрутизацию вызовов и можно звонить :)
Возможные проблемы
Если при звонке на номер вы слышите короткие гудки, а в логах и дебаге Вы видите следующее сообщение:
[2017-01-13 18:12:40] NOTICE[25200] res_pjsip/pjsip_distributor.c: Request 'INVITE' from '<sip:9251234567@33.33.44.45;user=phone>' failed for 33.33.44.45:5060' (callid: bj0zumbjn89299ssddjj991nx9uk8m@Some) - No matching endpoint found
То перейдите в раздел настроек Settings → Asterisk SIP Settings, выберите вкладку Chan SIP Settings и убедитесь, что параметр Bind Port указан как 5060.
Помимо обычной Windows, которая стоит почти на всех домашних компьютерах, есть версия с названием Windows Server, которая используется для серверов. О ней и поговорим.
Windows Server - это целая линейка операционных систем, которые Microsoft специально создает для использования на серверах. Windows Server выпускается под этим названием с момента выпуска Windows Server 2003. Однако даже до этого были доступны серверные версии Windows, например, Windows NT 4.0 была доступна как для обычных домашних компьютеров, так и для серверов.
Обычно каждый выпуск Windows Server соответствует обычной пользовательской версии Windows. Например, Windows Server 2003 - это серверная версия Windows XP, Windows Server 2016 основана на Windows 10 Anniversary Update, а Windows Server 2019, основана на версии Windows 10 версии 1809.
С первого взгляда не поймешь, чем Windows Server отличается от обычных версий Windows - рабочий стол выглядит так же, есть значки и даже есть кнопка Пуск. Поскольку Windows Server и обычная версия имеют общую базу кода, многие вещи можно делать одинаково и там, и там, например, загружать и устанавливать программы, а многие основные функции включены в Windows Server. Однако в Windows Server не получится найти различные свистелки для пользователя - например Microsoft Store или браузер Edge. Скажем так - серверная версия Windows отлично подходит для корпоративных целей, когда компании нужно создать внутренний или внешний сервис, который будет решать конкретную бизнес задачу.
Давайте теперь про основные различия: первое, что Windows Server включает в себя, это специальное корпоративное программное обеспечение, которое называется Enterprise Management Software
С помощью него можно давать серверу различные роли, например:
Роль Active Directory: это готовая роль, в которой сервер, сможет выступать как контроллер домена, и будет выполнять всю проверку подлинности учетных записей пользователей в компании.
Роль DHCP и DNS Server: сервер может автоматически назначать IP-адреса всем устройствам в сети, и резолвить адреса.
Быть файловым хранилищем: хранить важные файлы и устанавливать порядок доступа к ним.
Службы печати: позволяет обеспечивать общий доступ к принтерам и сканнерам.
Службы обновления Windows: можно направлять все обновления рабочей станции через этот сервер и настраивать определенные правила их работы.
Веб сервер: позволяет поднимать на этом сервере сервисы, которые будут доступны для других пользователей через web-доступ.
И это лишь малая часть возможных ролей в Windows Server. Очень часто кампании имеют больше одного сервера, и конечно же разделяют разные роли между ними.
Еще одним важным отличие серверной Windows от пользовательской, это меньшее количество аппаратных ограничений. Например, Windows 10 позволяет юзерам устанавливать 2 ТБ оперативной памяти, что кажется и так очень много, но Windows Server предоставляет до 24 ТБ ОЗУ, потому что компаниям нужны большие мощности. Представь сервер, на котором крутятся десятки виртуальных машин! Конечно ему потребуется много оперативной памяти. А еще Windows Server может обрабатывать больше ядер и процессоров, так как имеет 64 сокета.
Помнишь мы сказали, что Windows Server выглядит так же как обычный Windows? Да, но серверная Windows может вообще работать без графической оболочки! Windows Server можно установить двух формах - Server Core или Desktop Experience.
Если вы отдадите предпочтение Windows Server Core без графического интерфейса, то будете наслаждаться управлением сервером через командную строку PowerShell, или сможете накатить инструмент с графическим интерфейсом, например RSAT (Remote Server Administration Tools) или Windows Admin Center. Не подумайте, это не мазохизм - это позволяет снизить нагрузку на сервер убрав “тяжелый” интерфейс. А еще многим администраторам, зачастую, удобнее работать с конмадной строке.
Что выбрать под мой сервак, спросишь ты? Linux или Windows? Зависит от цели: Linux экономичнее и по деньгам, и по ресурсам, но если ты работаешь с инфраструктурой Microsoft, то тут нужно определенно выбирать Windows Server.