вторник, 27 сентября 2016 г.

Dial-Peer и шаблоны при создании destination-pattern

Dial-Peer и шаблоны при создании destination-pattern

Здесь я поясню смысл операторов (/, *, ^ и т.д.) при описании destination-pattern в диал-пире. Как пример:
 destination-pattern 98[^1].........
В этом паттерне матчатся по порядку: 9, 8, потом любая цифра кроме 1 и  10 любых. А теперь про каждый оператор подробнее...


Стандартные

  • Звездочка (*) и решетка (#) — Матчат стандартные кнопки (* и #) на всехтелефонах
  • Квадратные скобки ([ ]) — Последовательность цифр. Могут быть от 0 до 9 и в различных комбинациях..наподобие регулярного выражения..
  • Круглые скобки (( )) — Специальный шаблон. Почти как и квадратные скобки, но используется вкупе с операторами ? и %
  • Точка (.) — Матчит любую набранную цифру (wildcard).
  • Запятая (,) — Добавляет паузу между цифрами..

Операторы повторения

  • Знак процента (%) — Означает повторный набор предыдущей цифры или шаблона. Используется в ранее озвученных регулярных выражениях..
  • Вопросительный знак (?) — Проверяет чтобы предыдущая цифра была набрана 1 раз или ни разу.

Другие

  • Стрелка (^) — Матчит начало последовательности цифр.
  • Доллар ($) — Матчит окончание строки в конце набора цифр..
  • Backslash (\) — Тут я даже не знаю как правильно объяснить русским языком :)
  • T — Означает произвольную последовательность набора цифр..


Оригинал
http://cisco-notes.blogspot.ru/2012/01/dial-peer-destination-pattern.html

Outgoing PRI call issue

В процессе настройки потока Е1 столкнулся со следующей проблемой: контроллер в состоянии UP, входящие вызовы на CME проходят, а вот при попытке сделать исходящий звонок в трубке сразу выдаётся гудок отбоя и в дебаге упорно светится строчка:
 Cause i = 0x8286 - Channel unacceptable

 Исходные данные:

  • Маршрутизатор Cisco 2811
  • Плата Е1 Cisco VWIC2-1MFT-T1/E1
  • Собственно, сам поток PRI на 30 тайм-слотов
Настройка потока типовая (за что большое спасибо провайдеру)
card type e1 0 1
!
network-clock-participate wic 1 
network-clock-select 1 E1 0/1/0
!
isdn switch-type primary-net5
!
controller E1 0/1/0
 pri-group timeslots 1-31
!
interface Serial0/1/0:15
 no ip address
 encapsulation hdlc
 isdn switch-type primary-net5
 isdn incoming-voice voice
 no cdp enable
!
Интерпретации данной ошибки немного отличаются в различных источниках. С точки зрения цыски данный инцидент возникает, когда при исходящем вызове выбирается В-канал произвольным образом и удаленная сторона (при отличных настройках) не может согласовать SETUP-сообщения. Решение заключается в принудительном указании контроллеру выбирать В-каналы последовательно, начиная с первого. Делается это на сигнальном интерфейсе командой:

isdn bchan-number-order ascending

Оригинал
http://cisco-notes.blogspot.ru/2012/04/outgoing-pri-call-issue.html#more 

asterisk g729 codes


Asterisk g729 codes

asterisk -rx "core show translation"

http://asterisk.hosting.lv/
http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-pentium4.so

uname -a
2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


cd /usr/lib64/asterisk/modules

wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-pentium4.so
mv codec_g729-ast110-gcc4-glibc-x86_64-pentium4.so codec_g729.so
asterisk -rv
module load codec_g729.so


*CLI> core show translation
         Translation times between formats (in microseconds) for one second of data
          Source Format (Rows) Destination Format (Columns)

            gsm  ulaw  alaw  g726 adpcm  slin lpc10  g729  ilbc g726aal2  g722 slin16 testlaw
      gsm     - 15000 15000 15000 15000  9000 15000 15000 15000    15000 17250  26250   15000
     ulaw 15000     -  9150 15000 15000  9000 15000 15000 15000    15000 17250  26250   15000
     alaw 15000  9150     - 15000 15000  9000 15000 15000 15000    15000 17250  26250   15000
     g726 15000 15000 15000     - 15000  9000 15000 15000 15000    15000 17250  26250   15000
    adpcm 15000 15000 15000 15000     -  9000 15000 15000 15000    15000 17250  26250   15000
     slin  6000  6000  6000  6000  6000     -  6000  6000  6000     6000  8250  17250    6000
    lpc10 15000 15000 15000 15000 15000  9000     - 15000 15000    15000 17250  26250   15000
     g729 15000 15000 15000 15000 15000  9000 15000     - 15000    15000 17250  26250   15000
     ilbc 15000 15000 15000 15000 15000  9000 15000 15000     -    15000 17250  26250   15000
 g726aal2 15000 15000 15000 15000 15000  9000 15000 15000 15000        - 17250  26250   15000
     g722 15600 15600 15600 15600 15600  9600 15600 15600 15600    15600     -   9000   15600
   slin16 21600 21600 21600 21600 21600 15600 21600 21600 21600    21600  6000      -   21600
  testlaw 15000 15000 15000 15000 15000  9000 15000 15000 15000    15000 17250  26250       -

GoIP

Отправка смс через http-запрос

http://IP_goip/default/en_US/send.html?u=admin&p=admin&l=1&n=gsm-number&m=test

Dial-peer cisco

Dial-peer cisco

Вызываемый абонент (DNIS) - строка набора получателя вызова и получено из DNIS сигнализации по выделенному каналу (CAS) или сообщения установки ISDN.
Вызывающий номер (ANI) - цифровая строка, которая представляет происхождение и получена из ANI CAS или сообщения установки ISDN. ANI также называют Calling Line Identification (CLID) (идентификацией вызывающей линии).

Incoming called-number это именно DNIS
answer-address это именно ANI
Destination-pattern это или то или другое.


Сначала ищется совпадение по called-number, потом answer-address, потом destination-pattern.
У диал-пиров есть возможность индивидуально выставить preference

permission term - ставится на исходящем пире
permission orig - на входящем
called-number - Вызываемый абонент
calling-number - Вызывающий абонент

При транзитном вызове через шлюз всегда есть минимум 2 лега - входящий и исходящий. Есть разные типы портов, чаще всего это pots и voip.
С исходящими вызовами думаю и так все понятно.

А входящие пиры выбираются следующим образом:
POTS пиры матчатся в первую очередь по порту или транковой группе, далее по incoming called-number, далее по answer address, далее по destination-pattern, далее по preference. Incoming called-number это именно DNIS, answer-address это именно ANI, destination-pattern это или то или другое.

Voip пиры матчатся только по incoming called-number, answer address и destination-pattern и они ловят все все voip вызовы вне зависимости от session target.

И на pots, и на voip пирах можно указать permission - разрешенное направление вызова.
Translation profile incoming или outgoing используется в зависимости от того, отработался ли данный пир как входящий или исходящий

direct-inward-dial - не требуется прописывать на исходящих диал-пирах


Избегайте incoming called-number .T
.T полезно для международных исходящих


Проверка диал-пиров
show dial-peer voice summary
show dialplan number 984955492211

Preference имеет смысл только при идентичных destination-pattern

При сложных схемах исходящих вызовов через разные порты:
Делаете входящие dial-peer'ы, где матчите answer-address и вешаете входящий cor-list.
Делаете исходящие пиры и на них вешаете соответствующий исходящий cor-list.
Можно и трансляциями сделать, но cor-list'ами правильнее.

Если через трансляцию - нужно транслировать called номер, добавлять префикс, а на исходящих пирах его отрезать.


Безопасность:
IOS/CME ver12 SIP stack не умеет авторизовать INVITE, вследствие чего звонить (отправить INVITE) может любой хост.
Возможно это связано с тем, что код SIP Register и SIP trunk не связаны друг с другом.

Что делать:
- если у вас действительно Cisco телефоны - перейти на SCCP и:
- регистрировать телефоны в режиме SCCP/TLS на CME
- использовать ASA Phone Proxy - работает с SCCP/CME
- ждать поддержки VPN Client-а в телефонах (появится с выходом CUCM 8.0, поддерживаются не все телефоны, только 7942/45/62/65/75, надо тестировать с CME)
- если SIP принципиален - ставить перед (вместо) CME SIP registrar, который умеет авторизовать INVITE (например asterisk), регистрировать интернет-телефоны на нем и до CME прописывать SIP Trunk



dial-peer 0
Если у Вас не прописан четко выбор входящего пира, в результате вызов при определенных условиях попадает в пир №0 и циска дает в линию тон для донабора номера, который злоумышленники используют для донаборов африканских номеров. На нормальном входящем пире у Вас наверняка стоит direct-inward-dial, который заставляет циску перебирать исходящие пиры без этого тона.
Определенные условия, по которым вызов попадает в пир№0 - это приход от провайдера не вашего потокового номера. Чтобы избежать этого обязательно, во-первых, всегда явно прописывать выбор входящего пира по incoming-called number <# потока>, во-вторых, всегда делать входящий пир-заглушку, в котором реджектить все остальные номера.

http://www.cisco.com/en/US/tech/tk652/tk90/technologies_configuration_example09186a00803f818a.shtml#con12

Тут главное правильно выбрать пир-заглушку по инкоминг-солд нумберу :-), чтобы в нулевой пир не свалиться.


incoming-called number выбирается по наиболее точному соответствию цифр , пришедших в call setup'е.
Таким образом, Вы можете написать в дополнение к своему правильному входящему пиру еще один, где в incoming-called number будет стоять, например, ".Т"
Тогда, при правильном номере будет выбираться Ваш входящий пир, а при попытке сотрудников провайдера немножко заработать на свой карман - Ваш пир-заглушка

понедельник, 26 сентября 2016 г.

Обновление (восстановление) прошивки Panasonic tda-tde 100,200,600

Обновление (восстановление) прошивки Panasonic tda-tde 100,200,600
Выбираем Utility - file transfer PC to PBX

Находим наш файо и ждем окончания копирования
далее система сообщает о том, что переданный файл был сохранен под имененм DGSYS_S
и чтобы был эффект, надо перегрузить систему

нажимаем ок

далее выбираем Utility-system reset-reset by the command
далее выбираем Skip (т.к. требуется применить новые данные)

далее система считывает файл
выбираем "Use replace File"

и подтверждаем свой выбор два раза

Voice debug commands

Cisco voice debug commands

Памятка..чтобы не забыть..


1. Вводим дебаговые команды, смотрим что получилось
debug .... (что надо дебажить)
show debug
2. Даем команду отображения дебага на консоли
term monitor
3. Отлаживаем, снимаем нужную информацию
4. Отключаем отображение дебага
terminal no monitor
5. Отключаем дебаги
no debug all


Полезные команды Cisco IOS, которые могут пригодится в процессе настройки и устранении неполадок Cisco Call Manager Express (CME).


Включение дебага

debug callmonitor all
Показывает всю информацию по звонкам и соединениям, выполняющимся в настоящий момент
debug voip application vxml error
Показывает ошибки в скрипте VXML IVR
debug voip dialpeer
Показывает все входящие и исходящие dial-peer, задействованные во время звонка.
Очень полезная команда (возможно даже более полезная чем debug isdn q931 на шлюзах с IOS), которая покажет входящие и исходящие dial-peer совпавшие после звонка на IOS шлюз.
debug voip ccapi inout
Команда покажет какие dial-peer совпадают на IOS шлюзе и состояние шлюза во время обработки звонка. Также полезна для отслеживания, какой кодек используется при звонке. Hоутинг входящих-исходящих звонков
debug voice dialpeer inout
просмотр диалплана, на какой диалпир звонок попадает и т.п.
debug voice translation
Команда покажет совпадение правил трансляции, которые вызываются внутри dial-peer или voice-port во время обработки вызова.
debug sccp events
Команда покажет какие ресурсы зарегистрированы на CME и используются во время обработки звонков.
debug ccsip messages
Полезная команда, показывающая SIP сообщения посылаемые между IOS шлюзом и SIP телефонами, SIP провайдером или Unity Express.
Enables all SIP SPI message tracing, such as those that are exchanged between the SIP UAC and the access server.
debug vpm all (включает в себя три команды)
debug vpm dsp
debug vpm signal
debug vpm spi

debug ephone detail mac-address <mac of phone>
Sets detail debugging for the Cisco IP phone.
debug voip rtp session named-events
Enables debugging for Real-Time Transport Protocol (RTP) named events packets.
debug sccp message
Displays the sequence of the SCCP messages.
debug isdn q931
Дебаг ISDN соединения, физическая часть
debug isdn q921

debug vpm signal
покажет, что творится на FXO-портах
debug voice dialpeer
Дебаг логики




Команды просмотра

sh voip rtp connection
Показывает текущие RTP соединения/Displays information about RTP named-event packets, such as caller-ID number, IP address, and ports for both the local and remote endpoints.
sh voice call status
Показывает состояние текущих голосовых соединений (звонков, совершаемых в настоящий момент).
show voice register statistics
Команда показывает общую статистику регистрации телефонов
show ephone registered
Отображаются все зарегистрированные телефоны
show sip-ua call
Displays active UAC and user agent server (UAS) information on SIP calls.
show isdn service

sh telephony-service

sh gateway

sh voice dsp detailed

sh voice port summary
Смотрим задействованные порты
sh voice port x/x/x

sh dial-peer voice summary

sh call history voice brief / compact
Show brief summary of voice calls
sh dial-peer voice summary
Проверка dial-plan
sh dialplan number <номер> | i Peer
Увидеть по какому dial-peerу уходит звонок
sh call active voice brief / compact
Displays active call information for voice calls or fax transmissions in progress
sh call resource voice stats

sh call resource voice threshold



Проверка правил трансляции
test voice translation-rule 1 1234


Ссылки:
http://ciscomaster.ru/content/09012013-%D0%B4%D0%B5%D0%B1%D0%B0%D0%B3-%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%B8%D0%B8
http://sysadminblog.ru/cisco/2011/03/03/poleznye-komandy-otladki-golosovogo-trafika.html
http://mcp.su/cisco/cisco-ios-voip-debug/
http://cisco-notes.blogspot.ru/2012/01/voice-debug-commands.html
http://mcp.su/cisco/cisco-ios-voip-debug/



Блокировка нежелательных номеров, приходящих из PSTN

Блокировка нежелательных номеров, приходящих из PSTN

Сделать чёрный список на IOS-гейтвее очень просто.
Для этого вначале создаём translation-rule:
voice translation-rule 10
 rule 1 reject /1234567890/
        ---> вбиваем наш нежелательный номер в том формате, в котором он приходит от провайдера
 Затем создаём translation-profile:
voice translation-profile Incoming-Call-Block
 translate calling 10
            ---> здесь 10 - номер ранее созданного правила
После этого вешаем этот профайл на нужные диал-пиры (могут быть как pots так и voip, в зависимости от направлений прохождения звонка)..к примеру:
dial-peer voice 106 pots
 description ### TELCO ###
 translation-profile outgoing Gorod
 call-block translation-profile incoming Incoming-Call-Block
 call-block disconnect-cause incoming call-reject
 preference 1
 destination-pattern 9[^8]......
 direct-inward-dial
 port 0/3/0:15
 no sip-register

Оригинал:
http://cisco-notes.blogspot.ru/2012/01/pstn.html 
дебаг сигнала (debug vpm signal)
дебаг SPI (debug vpm spi)
дебаг по порту (debug vpm port 2/0/8)

======================================

sh dial-peer voice sum

sh isdn status
show voice port summary


Звонки в данный момент
show call active voice compact


Звонки в данный момент по количеству Call Legs:

show call active voice summary

Недавние звонки

show call history voice compact

======================================


Для CME: 
Проверить состояние зарегистрированных телефонов мы можем командой:

show ephone summary

проверить настройку нашего телефона:

show ephone


======================================что значит?
#csim start 123


======================================

voice-port 2/0/8
ring number 2
groundstart auto-tip
cptone RU
timeouts call-disconnect 5
timeouts wait-release 5
connection plar opx 3030
description FXO-632-24-46
station-id name FXO-1
station-id number 6322446
caller-id enable

==========================================


voice-port 0/0/0 
no battery-reversal 
input gain 14 
output attenuation 14 
cptone RU 
timeouts call-disconnect 1 
timeouts ringing 20 
timeouts wait-release 1 
timing hookflash-out 300 
connection plar opx 7705 
description CO1 
music-threshold -10 
bearer-cap Speech 
station-id name CO1 
station-id number 01 
caller-id enable 

==========================================
Как и обещал, настройка войсового порта для панасоника, при которой нормально отрабатывается дисконнект. 
Проверено для ТД1232, ТА616: 


#! 
#voice class dualtone-detect-params 1 
#! 
#voice class custom-cptone Panasonic 
dualtone disconnect 
frequency 410 
cadence 250 250 
#! 
#voice-port 0/1/0 
supervisory disconnect dualtone mid-call 
supervisory custom-cptone Panasonic 
supervisory dualtone-detect-params 1 
cptone RU 
timeouts call-disconnect 5 
timeouts ringing 20 
timeouts wait-release 5 
timing guard-out 3000 

#! 

==========================================

voice-port 0/2/2 
 trunk-group gorod 
 supervisory disconnect anytone 
 supervisory custom-cptone Custom 
 supervisory dualtone-detect-params 2 
 cptone RU 
 timeouts call-disconnect 1 
 timeouts ringing 10 
 connection plar 6 
 description XXX 
 station-id name XXX 

 caller-id enable 


==========================================
voice-port 0/0/0
ring number 10
cptone RU
connection plar opx 200
description ---To PSTN---

caller-id enable

==========================================

voice-port 0/0/2 
 cptone RU 
 timeouts interdigit 5 
 connection plar 402 
 bearer-cap Speech 

 caller-id enable 
==========================================

voice class custom-cptone PANAS 
  dualtone disconnect 
  frequency 400     <--- уточни частоту по доке панаса 
  cadence 250 250   <--- тоже лучше уточнить 

voice class dualtone-detect-params 1    

voice-port 1/0/X      <---- порт FXO 
supervisory disconnect dualtone mid-call 
supervisory custom-cptone PANAS 
supervisory dualtone-detect-params 1 
no battery-reversal 
disc_pi_off 
timeouts call-disconnect 2 
timeouts wait-release 2 
timing guard-out 500 

description FXO

==========================================