在Asterisk上做SIP与IAX的互通试验

做一个最基本的SIP以及IAX之间互相正常通信的测试。这对Asterisk的工作以及通信流程的了解相当有帮助。


.配置Asterisk相关文件:
这里的配置我只是列出自己的定制部分,其他部分就不贴出来了。
1.IAX
配置文件
[root@asterisk-test1 ~]# vi /etc/asterisk/iax.conf
-------------------------------------------------------------------------------------
[iax](!)
type=friend
context=test
disallow=all
allow=gsm
qualify=yes
host=dynamic
transfer=no
auth=md5

 

[8801](iax)
username=8801
secret=123456
context=test

 

[8802](iax)
username=8802
secret=123456
context=test
-------------------------------------------------------------------------------------

 


2.SIP
配置文件
[root@asterisk-test1 ~]# vi /etc/asterisk/sip.conf
-------------------------------------------------------------------------------------
[sip](!)
type=friend
host=dynamic
disallow=all
allow=gsm
context=test

 

[9901](sip)
username=9901
secret=123456

 

[9902](sip)
username=9902
secrest=123456
-------------------------------------------------------------------------------------

 


3.
配置拨号方案
[root@asterisk-test1 ~]# vi /etc/asterisk/extensions.conf
-------------------------------------------------------------------------------------
[test]
exten => _880X,1,Dial(IAX2/${EXTEN},,r)
exten => _990X,1,Dial(SIP/${EXTEN},,r)
-------------------------------------------------------------------------------------

 

 

.进入控制台调试:
[root@asterisk-test1 asterisk]# asterisk -crvvv
-------------------------------------------------------------------------------------
Asterisk 1.4.5, Copyright (C) 1999 - 2007 Digium, Inc. and others.
Created by Mark Spencer <
markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf': Found
  == Parsing '/etc/asterisk/extconfig.conf': Found
Connected to Asterisk 1.4.5 currently running on asterisk-test1 (pid = 19690)
Verbosity is at least 47
Core debug is at least 255

 

调整Debug级别
asterisk-test1*CLI> core set debug 255
Core debug is at least 255

 

重新载入IAX配置
asterisk-test1*CLI> iax2 reload
  == Parsing '/etc/asterisk/iax.conf': Found
  == Parsing '/etc/asterisk/users.conf': Found
  == Loaded firmware 'iaxy.bin'
  == Parsing '/etc/asterisk/iaxprov.conf': Found
    -- Loaded provisioning template 'default'

 

重新载入SIP配置
asterisk-test1*CLI> sip reload
 Reloading SIP*CLI>
  == Parsing '/etc/asterisk/sip.conf': Found
  == Parsing '/etc/asterisk/users.conf': Found
  == Parsing '/etc/asterisk/sip_notify.conf': Found

 

重新载入拨号规则配置
asterisk-test1*CLI> extensions reload
  == Parsing '/etc/asterisk/extensions.conf': Found
  == Setting global variable 'CONSOLE' to 'Console/dsp'
  == Setting global variable 'IAXINFO' to 'guest'
  == Setting global variable 'TRUNK' to 'Zap/g2'
  == Setting global variable 'TRUNKMSD' to '1'
    -- Registered extension context 'test'
    -- Added extension '_880X' priority 1 to test
    -- Added extension '_990X' priority 1 to test
-------------------------------------------------------------------------------------

 

 

.注册终端:
-------------------------------------------------------------------------------------
注册SIP终端9901
    -- Registered SIP '9901' at 192.168.0.199 port 37624 expires 60
    -- Saved useragent "eyeBeam release 1004p stamp 31962" for peer 9901
[Nov  5 14:47:33] NOTICE[19715]: chan_sip.c:12231 handle_response_peerpoke: Peer '9901' is now Reachable. (5ms / 2000ms)

 

这册SIP终端9902
    -- Registered SIP '9902' at 192.168.0.149 port 23260 expires 3600
    -- Saved useragent "eyeBeam release 1004p stamp 31962" for peer 9902
[Nov  5 14:48:21] NOTICE[19715]: chan_sip.c:12231 handle_response_peerpoke: Peer '9902' is now Reachable. (7ms / 2000ms)

 

注册IAX终端8801
    -- Registered IAX2 '8801' (AUTHENTICATED) at 192.168.0.199:4569
[Nov  5 15:06:32] NOTICE[19708]: chan_iax2.c:5699 update_registry: Restricting registration for peer '8801' to 60 seconds (requested 300)

 

注册IAX终端8802
    -- Registered IAX2 '8802' (AUTHENTICATED) at 192.168.0.149:4569
[Nov  5 15:07:41] NOTICE[19707]: chan_iax2.c:5699 update_registry: Restricting registration for peer '8802' to 60 seconds (requested 300)
-------------------------------------------------------------------------------------

 

 

.测试IAX之间呼叫:
1.IAX
被叫方挂断
-------------------------------------------------------------------------------------
    -- Accepting AUTHENTICATED call from 192.168.0.199:
   
接受经过验证的呼叫,接受8801呼叫8802

 

       > requested format = gsm,
       > requested prefs = (),
       > actual format = gsm,
       > host prefs = (gsm),
       > priority = mine
    -- Executing [8802@test:1] Dial("IAX2/8801-4", "IAX2/8802||r") in new stack
   
执行8801通道48802进行呼叫。

 

    -- Called 8802>
    -- Call accepted by 192.168.0.149 (format gsm)
    -- Format for call is gsm
   
协商编解码为GSM

 

    -- IAX2/8802-5 is ringing
   
被叫方8802通道5产生振铃。  

    -- IAX2/8802-5 answered IAX2/8801-4
   
被叫方8802通道5应答了主叫方8801通道4

 

    ...通话...

 

    -- Hungup 'IAX2/8802-5'
   
被叫方8802通道5首先挂断。

 

  == Spawn extension (test, 8802, 1) exited non-zero on 'IAX2/8801-4'
    -- Hungup 'IAX2/8801-4'
   
主叫方8801通道4之后断开。

-------------------------------------------------------------------------------------

 


2.IAX
主叫方挂断
-------------------------------------------------------------------------------------
    -- Accepting AUTHENTICATED call from 192.168.0.149:
   
接受经过验证的呼叫,结合8802呼叫8801

 

       > requested format = gsm,
       > requested prefs = (),
       > actual format = gsm,
       > host prefs = (gsm),
       > priority = mine
    -- Executing [8801@test:1] Dial("IAX2/8802-2", "IAX2/8801||r") in new stack
   
执行8802通道28802进行呼叫。

 

    -- Called 8801>
    -- Call accepted by 192.168.0.199 (format gsm)
    -- Format for call is gsm
   
协商编码呼叫为GSM

 

    -- IAX2/8801-5 is ringing
   
被叫方8801通道5进行振铃。

 

    -- IAX2/8801-5 answered IAX2/8802-2
   
被叫方8801通道5应答了主叫方8802通道2

 

    ...通话...

 

    -- Hungup 'IAX2/8802-2'
   
主叫方8802通道2首先挂断。

 

  == Spawn extension (test, 8801, 1) exited non-zero on 'IAX2/8801-5'
    -- Hungup 'IAX2/8801-5'
   
被叫方8801通道5之后断开。

-------------------------------------------------------------------------------------

 

 

.测试SIP 之间呼叫:
1.
主叫方挂断
-------------------------------------------------------------------------------------
    -- Executing [9902@test:1] Dial("SIP/9901-0854e7c8", "SIP/9902||r") in new stack
   
执行9901呼叫9902

 

    -- Called 9902>
    -- SIP/9902-08552730 is ringing
   
被叫方9902振铃。

 

Internal RTCP NTP clock skew detected: lsr=1110524996, now=1174799434, dlsr=809841730 (12357:204ms), diff=745567292
    -- SIP/9902-08552730 answered SIP/9901-0854e7c8
   
被叫方9902应答了主叫方9901

 

    -- Native bridging SIP/9901-0854e7c8 and SIP/9902-08552730
Internal RTCP NTP clock skew detected: lsr=1127362869, now=1174802408, dlsr=808530993 (12337:203ms), diff=761091454
   
建立连接,开始通话。

 
  == Spawn extension (test, 9902, 1) exited non-zero on 'SIP/9901-0854e7c8'
   
主叫方9901挂断。
-------------------------------------------------------------------------------------

 


2.
被叫方挂断
-------------------------------------------------------------------------------------
    -- Executing [9902@test:1] Dial("SIP/9901-08549ad8", "SIP/9902||r") in new stack
   
执行9901呼叫9902

 

    -- Called 9902>
    -- SIP/9902-0854fc30 is ringing
   
被叫方9902振铃。

 

Internal RTCP NTP clock skew detected: lsr=1110524996, now=1183429154, dlsr=809841730 (12357:204ms), diff=736937572
    -- SIP/9902-0854fc30 answered SIP/9901-08549ad8
   
被叫方9902应答主叫方9901

 

    -- Native bridging SIP/9901-08549ad8 and SIP/9902-0854fc30
Internal RTCP NTP clock skew detected: lsr=1127362869, now=1183429827, dlsr=808530993 (12337:203ms), diff=752464035
   
建立连接,开始通话。

 

  == Spawn extension (test, 9902, 1) exited non-zero on 'SIP/9901-08549ad8'
   
被叫方9902挂断。

-------------------------------------------------------------------------------------

 

 

.测试IAX主叫SIP
1.
主叫方挂断
-------------------------------------------------------------------------------------
    -- Accepting AUTHENTICATED call from 192.168.0.199:
   
接受经过验证的呼叫,8801呼叫9901

 

       > requested format = gsm,
       > requested prefs = (),
       > actual format = gsm,
       > host prefs = (gsm),
       > priority = mine
    -- Executing [9901@test:1] Dial("IAX2/8801-2", "SIP/9901||r") in new stack
   
执行8801通道2呼叫9901

 

    -- Called 9901>
     -- SIP/9901-0854e7c8 is ringing
   
被叫方9901振铃。

 

Internal RTCP NTP clock skew detected: lsr=1127362869, now=1141816690, dlsr=808530993 (12337:203ms), diff=794077172
    -- SIP/9901-0854e7c8 answered IAX2/8801-2
   
被叫方9901应答主叫方8801通道2,建立连接,开始通话。

 

Internal RTCP NTP clock skew detected: lsr=1142150038, now=1142224038, dlsr=102498 (1:563ms), diff=28498
Internal RTCP NTP clock skew detected: lsr=1142150038, now=1142423096, dlsr=302972 (4:622ms), diff=29914
Internal RTCP NTP clock skew detected: lsr=1142477782, now=1142604149, dlsr=149422 (2:279ms), diff=23055
Internal RTCP NTP clock skew detected: lsr=1142477782, now=1142741562, dlsr=349962 (5:339ms), diff=86182
Internal RTCP NTP clock skew detected: lsr=1142805424, now=1142875129, dlsr=103874 (1:584ms), diff=34169
Internal RTCP NTP clock skew detected: lsr=1142805424, now=1143037482, dlsr=304414 (4:644ms), diff=72356
   
通话中。

 

  == Spawn extension (test, 9901, 1) exited non-zero on 'IAX2/8801-2'
    -- Hungup 'IAX2/8801-2'
   
主叫方8801通道2挂断。

-------------------------------------------------------------------------------------

 


2.
被叫方挂断
-------------------------------------------------------------------------------------
    -- Accepting AUTHENTICATED call from 192.168.0.199:
   
接受经过验证的呼叫,8801呼叫9901

 

       > requested format = gsm,
       > requested prefs = (),
       > actual format = gsm,
       > host prefs = (gsm),
       > priority = mine
    -- Executing [9901@test:1] Dial("IAX2/8801-1", "SIP/9901||r") in new stack
   
执行8801通道2呼叫9901

 

    -- Called 9901>
    -- SIP/9901-0854d248 is ringing
   
被叫方9901振铃。

 

Internal RTCP NTP clock skew detected: lsr=1127362869, now=1154364407, dlsr=808530993 (12337:203ms), diff=781529455
    -- SIP/9901-0854d248 answered IAX2/8801-1
   
被叫方9901应答主叫方8801通道1。建立连接,开始通话。

 

Internal RTCP NTP clock skew detected: lsr=1155023403, now=1155058464, dlsr=52756 (0:804ms), diff=17695
Internal RTCP NTP clock skew detected: lsr=1155023403, now=1155203176, dlsr=277217 (4:229ms), diff=97444
Internal RTCP NTP clock skew detected: lsr=1155351087, now=1155366776, dlsr=18415 (0:280ms), diff=2726
Internal RTCP NTP clock skew detected: lsr=1155678855, now=1155767542, dlsr=127074 (1:938ms), diff=38387
Internal RTCP NTP clock skew detected: lsr=1155678855, now=1155914097, dlsr=351469 (5:362ms), diff=116227
   
通话中。

 

  == Spawn extension (test, 9901, 1) exited non-zero on 'IAX2/8801-1'
    -- Hungup 'IAX2/8801-1'
   
被叫方9901挂断。

-------------------------------------------------------------------------------------

 

 

.测试SIP主叫IAX
1.
主叫方挂断
-------------------------------------------------------------------------------------
    -- Executing [8801@test:1] Dial("SIP/9901-08549ad8", "IAX2/8801||r") in new stack
    -- Called 8801
    -- Call accepted by 192.168.0.199 (format gsm)
    -- Format for call is gsm
    -- IAX2/8801-1 is ringing

    -- IAX2/8801-1 answered SIP/9901-08549ad8

Internal RTCP NTP clock skew detected: lsr=1127362869, now=1160125691, dlsr=808530993 (12337:203ms), diff=775768171
Internal RTCP NTP clock skew detected: lsr=1160782332, now=1160838023, dlsr=81526 (1:243ms), diff=25835
Internal RTCP NTP clock skew detected: lsr=1160782332, now=1160972114, dlsr=308281 (4:703ms), diff=118499
Internal RTCP NTP clock skew detected: lsr=1161109974, now=1161122977, dlsr=16973 (0:258ms), diff=3970
Internal RTCP NTP clock skew detected: lsr=1161109974, now=1161337308, dlsr=243662 (3:717ms), diff=16328


    -- Hungup 'IAX2/8801-1'
  == Spawn extension (test, 8801, 1) exited non-zero on 'SIP/9901-08549ad8'
-------------------------------------------------------------------------------------

 


2.
被叫方挂断
-------------------------------------------------------------------------------------
    -- Executing [8801@test:1] Dial("SIP/9901-0854e7c8", "IAX2/8801||r") in new stack
    -- Called 8801>
    -- Call accepted by 192.168.0.199 (format gsm)
    -- Format for call is gsm
    -- IAX2/8801-2 is ringing

    -- IAX2/8801-2 answered SIP/9901-0854e7c8

Internal RTCP NTP clock skew detected: lsr=1127362869, now=1167447869, dlsr=808530993 (12337:203ms), diff=768445993
Internal RTCP NTP clock skew detected: lsr=1168103692, now=1168159910, dlsr=86245 (1:315ms), diff=30027
Internal RTCP NTP clock skew detected: lsr=1168103692, now=1168307381, dlsr=312344 (4:765ms), diff=108655
Internal RTCP NTP clock skew detected: lsr=1168431378, now=1168476183, dlsr=52559 (0:801ms), diff=7754
Internal RTCP NTP clock skew detected: lsr=1168431378, now=1168707218, dlsr=278593 (4:250ms), diff=2753

    -- Hungup 'IAX2/8801-2'
  == Spawn extension (test, 8801, 1) exited non-zero on 'SIP/9901-0854e7c8'
-------------------------------------------------------------------------------------

 

基本上IAXSIP之间可以最基本地互相通信了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值