Такая модификация может потребоваться если на IP-PBX используется своя внутренняя сокращенная нумерация абонентов. Но при наборе на встречную IP-PBX требуется добавить перед А-номером цифры, например, для того чтобы привести его к формату national.
Задача:
Имеется SIP-телефон, который зарегистрирован на внутреннем PBX-сервере ESR-12v/12vf/14vf с номером 777. Требуется при наборе номера 900 с этого телефона модифицировать A-номер до формата national и направить вызов в транк на встречную IP-PBX.
Решение:
Для решения этой задачи необходимо последовательно прописать в правилах набора номера два правила:
Пример конфигурирования правил
ruleset main_rule
rule 10
pattern '900,1,Set(CALLERID(num)=81111222${CALLERID(num)})'
enable
exit
rule 20
pattern '900,2,Dial(SIP/trunk_SSW/${EXTEN})'
enable
exit
exit
Правило 10 Set при наборе номера 900 будет выполнено первым. А-номер будет модифицирован, перед ним будут добавлены цифры 81111222. Правило 20 Dial будет выполнено вторым. В направлении встречной IP-PBX через транк будет выслано сообщение INVITE с модифицированным А-номером.
Сообщение INVITE, принятое PBX-сервером от телефона, выглядит так:
Сообщение INVITE от SIP- телефона
198.51.100.2.5060 > 198.51.100.1.5060: SIP, length: 894
INVITE sip:900@198.51.100.1:5060 SIP/2.0
Via: SIP/2.0/UDP 198.51.100.2:5060;branch=z9hG4bK861859053
From: "777" <sip:777@198.51.100.1:5060>;tag=4240192498
To: <sip:900@198.51.100.1:5060>
Call-ID: 1_1304580578@198.51.100.2
CSeq: 1 INVITE
Contact: <sip:777@198.51.100.2:5060>
Content-Type: application/sdp
Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
Max-Forwards: 70
User-Agent: Yealink SIP-T21P_E2 52.80.14.2
Allow-Events: talk,hold,conference,refer,check-sync
Supported: replaces
Content-Length: 306
v=0
o=- 20013 20013 IN IP4 198.51.100.2
s=SDP data
c=IN IP4 198.51.100.2
t=0 0
m=audio 11866 RTP/AVP 9 0 8 18 101
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=ptime:20
a=sendrecv
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
Сообщение INVITE, сформированное ESR-12v/12vf/14vf, выглядит так:
Сообщение INVITE в торону встречной IP-PBX
203.0.113.2.5060 > 203.0.113.1.5060: SIP, length: 829
INVITE sip:900@203.0.113.1:5060 SIP/2.0
Via: SIP/2.0/UDP 203.0.113.2:5060;branch=z9hG4bK7afa4081
Max-Forwards: 70
From: "777" <sip:81111222777@203.0.113.2>;tag=as0e0853d4
To: <sip:900@203.0.113.1:5060>
Contact: <sip:81111222777@203.0.113.2:5060>
Call-ID: 43168f9f6131b5fe4b92e77329339ae0@203.0.113.2:5060
CSeq: 102 INVITE
User-Agent: ESR-12VF
Date: Wed, 30 Aug 2023 06:42:03 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces
Content-Type: application/sdp
Content-Length: 273
v=0
o=root 1926704466 1926704466 IN IP4 203.0.113.2
s=ESR-12VF
c=IN IP4 203.0.113.2
t=0 0
m=audio 14524 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
В результате настройки конфигурация маршрутизатора ESR-12v/12vf/14vf для решения поставленной задачи выглядит так:
Конфигурация на ESR полностью
interface gigabitethernet 1/0/7
description "sip_phone"
ip firewall disable
ip address 198.51.100.1/24
exit
interface gigabitethernet 1/0/8
description "to_ssw"
ip firewall disable
ip address 203.0.113.2/24
exit
pbx
ruleset from_ssw
description "Incoming call from trunk"
rule 10
pattern '_XXX,1,Dial(SIP/${EXTEN})'
enable
exit
exit
ruleset main_rule
rule 10
pattern '900,1,Set(CALLERID(num)=81111222${CALLERID(num)})'
enable
exit
rule 20
pattern '900,2,Dial(SIP/trunk_SSW/${EXTEN})'
enable
exit
exit
profile trunk_SSW
type external
client friend
codec allow g711a
codec allow g711u
security level invite-port
nat comedia
qualify 10000
host-address 203.0.113.1
exit
profile sip_phone
client friend
codec allow g711a
codec allow g711u
codec allow g722
codec allow g726
nat comedia
qualify 10000
ruleset main_rule
exit
register-server SSW
ip address 203.0.113.1
ip port 5060
profile trunk_SSW
username 100
authentication password encrypted CDE65039E5
enable
exit
user 777
profile sip_phone
password encrypted CDE65039E5
exit
enable
exit
Комментарии ()