VoIP: (05.08) Thiết lập Dialplan Outgoing (register) tới Cisco Call Manager trên FreeSwitch v1.6

By , 0 View

Mục tiêu thực hành:
- Khai báo SIP Account register tới Cisco Call Manager trên FreeSwitch v.1.6.
- Thiết lập Destination Number thông qua việc hiệu chỉnh dialplan default.xml trên FreeSwitch v1.6.
- Khởi động lại dịch vụ FreeSwitch.
- Kiểm tra trạng thái SIP Account register từ FreeSwitch v1.6 tới Cisco Call Manager.
- Cấu hình tiếp nhận cuộc gọi trên Cisco Call Manager từ FreeSwitch.
- Kích hoạt tiến trình debug cuộc gọi trên FreeSwitch.

Các bước triển khai:
Khai báo SIP Account register tới Cisco Call Manager trên FreeSwitch v.1.6.
- Khảo sát cấu hình SIP Account trên Cisco Call Manager.
voice class codec 2
 codec preference 1 g711ulaw
 codec preference 2 g711alaw
 exit 

voice register dn  1
 number 9901
 exit
voice register pool  1
 id device-id-name FreeSwitch
 session-transport udp
 number 1 dn 1
 dtmf-relay rtp-nte
 voice-class codec 2
 username 9901 password 9901
 no vad
 exit

- Khởi tạo file isr4321.xml với nội dung như bên dưới.
vi /usr/local/freeswitch/conf/sip_profiles/external/isr4321.xml

<include>
   <gateway name="isr4321">
       <param name="proxy" value="10.10.10.1"/>
       <param name="username" value="9901"/>
       <param name="realm" value="all"/>
       <param name="password" value="9901"/>
       <param name="extension" value="9901"/>
       <param name="expire-seconds" value="3600"/>
   </gateway>
</include>

Thiết lập Destination Number thông qua việc hiệu chỉnh dialplan default.xml trên FreeSwitch v1.6.
- Tiến hành add thêm thông tin như bên dưới.
    + \d đại diện cho digit bất kỳ từ 0-9.
    + effective_caller_id_number đại diện cho số DID cho hệ thống FreeSwitch v1.6.
vi /usr/local/freeswitch/conf/dialplan/default.xml

<extension name="DialPeerOut">
    <condition field="destination_number" expression="^(990[123])$">
        <action application="set" data="effective_caller_id_number=1020"/>       
        <action application="bridge" data="sofia/gateway/isr4321/$1"/>
    </condition>
</extension>
or
<extension name="DialPeerOut">
    <condition field="destination_number" expression="^(990\d)$">
        <action application="set" data="effective_caller_id_number=1020"/>       
        <action application="bridge" data="sofia/gateway/isr4321/$1"/>
    </condition>
</extension>

- Cho phép các SIP Phone trên FreeSwitch thực hiện cuộc gọi đi PSTN thông qua VoiceGateway.
<extension name="DialPeerOut">
    <condition field="destination_number" expression="^(\d\d\d\d\d\d\d\d\d\d)$">
        <action application="set" data="effective_caller_id_number=1020"/>       
        <action application="bridge" data="sofia/gateway/isr4321/$1"/>
    </condition>
</extension>

...
    <extension name="global-intercept">
      <condition field="destination_number" expression="^886$">
        <action application="answer"/>
        <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/global)}"/>
        <action application="sleep" data="2000"/>
      </condition>
    </extension>

    <extension name="group-intercept">
      <condition field="destination_number" expression="^\*8$">
        <action application="answer"/>
        <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/${callgroup})}"/>
        <action application="sleep" data="2000"/>
      </condition>
    </extension>

    <extension name="intercept-ext">
      <condition field="destination_number" expression="^\*\*(\d+)$">
        <action application="answer"/>
        <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/$1)}"/>
        <action application="sleep" data="2000"/>
      </condition>
    </extension>

    <extension name="DialPeerOut">
      <condition field="destination_number" expression="^(990[123])$">
        <action application="set" data="effective_caller_id_number=1020"/>
        <action application="bridge" data="sofia/gateway/isr4321/$1"/>
      </condition>
    </extension>
...

Khởi động lại dịch vụ FreeSwitch.
[root@static external]# systemctl restart freeswitch.service

Kiểm tra trạng thái SIP Account register từ FreeSwitch v1.6 tới Cisco Call Manager.
- Kiểm tra trên FreeSwitch.
[root@static public]# fs_cli
freeswitch@static.vnpt.vn> sofia status
                     Name          Type                                       Data      State
=================================================================================================
            external-ipv6       profile                   sip:mod_sofia@[::1]:5080      RUNNING (0)
             10.10.10.188         alias                                   internal      ALIASED
                 external       profile            sip:mod_sofia@10.10.10.188:5080      RUNNING (0)
    external::example.com       gateway                    sip:joeuser@example.com      NOREG
        external::isr4321       gateway                        sip:9901@10.10.10.1      REGED
            internal-ipv6       profile                   sip:mod_sofia@[::1]:5060      RUNNING (0)
                 internal       profile            sip:mod_sofia@10.10.10.188:5060      RUNNING (0)
=================================================================================================
4 profiles 1 alias

2021-04-23 06:37:35.603649 [CONSOLE] mod_voicemail.c:4092 Event Thread Started
freeswitch@static.vnpt.vn> 

- Kiểm tra trên Cisco Call Manager.
R4321# show voice register pool all brief 
Pool ID                                      IP Address                              Ln DN  Number               State
==== ======================================= ======================================= == === ==================== ============
1    FreeSwitch                              10.10.10.188                            1  1   9901$                REGISTERED   
2    0800.AAAA.9902                          10.10.10.25                             1  2   9902$                REGISTERED   
3    40F0.789F.CF9E                                                                  1  3   203                  UNREGISTERED 
9    10A5.D048.C00B                                                                  1  9   209                  UNREGISTERED 
11   0800.AAAA.9801                          172.16.31.110                           1  11  9801                 UNREGISTERED 
12   0800.AAAA.9802                          172.16.31.112                           1  12  9802                 UNREGISTERED 
13   0800.AAAA.9803                                                                  1  13  9803                 UNREGISTERED 
R4321#

Cấu hình tiếp nhận cuộc gọi trên Cisco Call Manager từ FreeSwitch.
voice class codec 2
 codec preference 1 g711ulaw
 codec preference 2 g711alaw
 exit 

dial-peer voice 2 voip
 session protocol sipv2
 session target ipv4:10.10.10.188
 incoming called-number .
 voice-class codec 2
 exit

Kích hoạt tiến trình debug cuộc gọi trên FreeSwitch.
[root@localhost ~]# fs_cli –r
freeswitch@localhost.localdomain> sofia global siptrace on
+OK Global siptrace on
freeswitch@localhost.localdomain>

Tham khảo các Videos lý thuyết CCNA Voice (Collaboration) trước khi tham khảo các bài hướng dẫn thực hành VoIP. Mọi thắc mắc, các bạn vui lòng liên lạc với mình thông qua kênh Zalo (Jade Bùi) 076.877.2021.

You Might Also Like

0 comments