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

остальное пусто
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

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 Jul. 24th, 2017 02:40 pm
Powered by Dreamwidth Studios