mr_welk: (Default)
[personal profile] mr_welk
как убрать плюсик при звонке с нортела на астериск

первоначальный вариант, работает, но он режет 1 символ у всех
; from-trunk:
;
; Context is really just an aliax of from-pstn
;
[from-trunk]
exten => _+XXXX,1,NoOp((Caller ID is ${CALLERID(all)}))
exten => _+XXXX,n,Set(CALLERID(num)=${CALLERID(num):1})
exten => _+XXXX,n,GoTo(${EXTEN:1},1)
# exten => _+XXXX,n,Goto(incoming,${EXTEN},1)
include => from-pstn

ну вот и рабочий вариант:
новый контекст добавляется в файлик extensions.conf
проверяем наличие плюса в CallerID, если есть то отрезаем, если нет то не отрезаем,
callerid(ANI-num) это номер для записи в базу mySQL, сам не меняется вместе с callerid(num),
NoOp - выводит сообщение в лог, после отладки можно закомментить,
у входящего номера (EXTEN) с Нортела плюс есть всегда, поэтому режем всегда

[from-trunk]
include => delete-plus
include => from-pstn
;-------------------------------------------------------------------------------
; delete-plus:
;
; delete a plus in CallerID if it was, than delete plus in EXTEN always
;
[delete-plus]
exten => _+X.,1,NoOp(CALLERID is = ${CALLERID(num)})
exten => _+X.,n,GotoIf($["${CALLERID(num):0:1}"!="+"]?noplus)
exten => _+X.,n,Set(CALLERID(num)=${CALLERID(num):1})
exten => _+X.,n,NoOp(Plus deleted, Caller ID NOW is =${CALLERID(num)})
exten => _+X.,n,Set(CALLERID(ANI-num)=${CALLERID(num)})
exten => _+X.,n,NoOp(Plus deleted, Caller ID for CDR NOW is =${CALLERID(ANI-num)})
exten => _+X.,n,NoOp(Exten will be ${EXTEN:1})
exten => _+X.,n,Goto(${EXTEN:1},1)
exten => _+X.,n(noplus),NoOp(No plus detected in CallerID, Exten will be ${EXTEN:1})
exten => _+X.,n,Goto(${EXTEN:1},1)
;-------------------------------------------------------------------------------





снятие дампа
tcpdump -i eth0 -s0 port 5060 -w /tmp/nortel1.pcap
или для конкретного адресата
tcpdump -i eth0 -s0 host 10.10.0.151 -w /tmp/nortel1.pcap
потом его можно скормить wireshark


Настройки транка астерикса с расшифровкой:

username=7811      ;имя пользователя для порта 
type=friend        ;позволяет и принимать и отправлять вызовы
secret=7811        ;для простоты пароль равен логину
qualify=yes        ;разрешает серверу определять доступность VoIP шлюза
port=5060          ;SIP порт VoIP шлюза
nat=no             ;запрещает NAT
host=dynamic       ;для работы VoIP шлюз должен зарегистрироваться
dtmfmode=info      ;режим DTMF должен быть общим для всего VoIP шлюза
context=from-pstn  ;контекст указывает обработчик входящих вызовов
canreinvite=no     ;запрещает передачу медиатрафика минуя астериск







рабочая конфигурация:

Название транка?: Nortel-N90
Исходящий ИД номер?: 777888777  (любой номер)
Опции Caller ID (CID)?: разрешить любой CID
Максимально каналов?: 10

Исходящие настройки


Название транка?: Ast-Nort90
опции для PEER?:

host=ATS_hostname.yourdomain.ru
type=friend
qualify=yes
insecure=port,invite
fromdomain=ATS_hostname.yourdomain.ru
context=from-trunk
nat=no
dtmfmode=info
;trustrpid=yes
dissalow=all
allow=alaw
directmedia=no

остальное пусто

Profile

mr_welk: (Default)
mr_welk

February 2017

S M T W T F S
   1234
567891011
12 13141516 1718
19202122232425
262728    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 04:33 pm
Powered by Dreamwidth Studios