
参加免费公开课,请您说是由【攻城狮论坛】推荐的。报名收费培训的论坛会员,可享受优惠价格+赠送攻城狮论坛VIP会员。本文转自 三旗培训 http://www.37vi.com/,版权归原作者所有。························································
Task 11.1 按照配置文档在R2上面配置T1控制器,并且开启使用一个SIP网关
使用PRI信令,ESF框架,B8ZS线路解码必须被使用。ISDN交换类型必须使用Primary-NI并且T1只使用timeslots 1–3。和前面的配置信息同样。
下面的配置应该被输入到R2路由器,正如R1路由器的命令一样,所有的命令解释请看前面的配置。
R2&
R2#sh inventory
...
NAME: "VWIC3-1MFT-T1/E1 -1-Port RJ-48 Multiflex Trunk - T1/E1 on Slot 0 SubSlot 0",DESCR: "VWIC3-
1MFT-T1/E1 - 1-Port RJ-48 Multiflex Trunk - T1/E1"
PID: VWIC3-1MFT-T1/E1 , VID: V01 , SN: FOC17502A4V
...
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#card type t1 0 0
R2(config)#network-clock-participate wic 0
R2(config)#network-clock-select 1 t1 0/0/0
Oct 15 20:47:48.857: %MARS_NETCLK-3-CLK_TRANS: Network clock sourcetransitioned from priority 10 to
priority 1
R2(config)#isdn switch-type primary-ni
现在我们来配置T1控制器。使用ESF框架,B8ZS线路解码。同样,这里也是默认已经使用这个框架和解码了。所以不用做任何配置。这里只要配置控制器作为一个PRI使用pri-group命令。我们必须只用timeslots 1–3。在这里,我们不能使用servicemgcp命令,因为这里不使用MGCP来控制这个网关。
R2&
R2(config)#controller t1 0/0/0
R2(config-controller)#pri-group timeslots 1-3
正如MGCP,配置pri-group命令后,一个Serialinterface和一个voice-port自动的产生被ISDND-Channel信令使用,如下所示。
R2&
R2#sh run int s0/0/0:23
Building configuration...
Current configuration : 138 bytes
!
interface Serial0/0/0:23
no ipaddress
encapsulation hdlc
isdnswitch-type primary-ni
isdnincoming-voice voice
no cdpenable
end
R2#sh run | sec voice-port
voice-port 0/0/0:23
因为PRI没有开启MGCP,它在R2网关上是局部受控制的。知道了这些,我们可以使用show isdnstatus命令来确保它的可操作性。
R2&
R2#show isdn status
Global ISDN Switchtype = primary-ni
ISDN Serial0/0/0:23 interface
dsl 0,interface ISDN Switchtype = primary-ni
Layer 1Status:
ACTIVE
Layer 2Status:
TEI = 0,Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
Layer 3Status:
0 ActiveLayer 3 Call(s)
Activedsl 0 CCBs = 0
The FreeChannel Mask: 0x80000007
Number ofL2 Discards = 0, L2 Session ID = 1
TotalAllocated ISDN CCBs = 0
我们应该注意到上面输出的2层信息为MULTIPLE_FRAME_ESTABLISHED。这意味着,PRI是激活的并且准备好来控制呼出和呼入呼叫。注意,这里在3层没有更长的Q.931回传,因为MGCP在这里没有被使用。
························································
Task 11.2 整合SB CUCM集群网关,并且确保R2使用环回口作为信令数据源
现在来配置T1PRI,我们可以设置呼入呼叫可以被路由器到SB CUCM服务器。前面的任务时要我们开启R2作为一个SIP网关,所以让我们开始配置吧。
在R2上面,我们必须首先在voice servicevoip下面配置全局语音配置。在这里我们每次都需要输入一个SIP或者H.323网关配置。
第一条命令实际上是关闭一个功能在路由器呼叫欺骗预防。开机释放IOS版本15.1(2)T,欺骗预防是默认被开启的。这个功能导致所有的呼叫状态都是“unknown”终端,除非路由器彻底的设置信任这些呼叫源。如果源IP地址没有配置到ip address trusted list里面,或者在session target命令里的一个dial-peer,这个路由器将不会接受这个呼叫。所以,做CCIE实验,最好是完全关闭这个功能使用no ip address trustedauthenticate命令。
R2&
R2(config)#voice service voip
R2(conf-voi-serv)#no ip address trusted authenticate
接着,我们应该允许连接VoIP-to-VoIP呼叫通过路由器。没有这些命令,VoIP-to-VoIP呼叫将不被允许。最好的办法就是输入每条命令,这样就可以保证没有呼叫被拒绝。
R2&
R2(config)#voice service voip
R2(conf-voi-serv)#allow-connections h323 to h323
R2(conf-voi-serv)#allow-connections h323 to sip
R2(conf-voi-serv)#allow-connections sip to h323
R2(conf-voi-serv)#allow-connections sip to sip
接着,我们应该为了所有的SIP连接设置源地址,在voice servicevoip的全局SIP配置模式下使用loopback0地址。你应该还记得,这个命令在CUCME注册SIP电话时也必须配置。
R2&
R2(config)#voice service voip
R2(conf-voi-serv)#sip
R2(conf-serv-sip)#bind control source-interface Loopback0
R2(conf-serv-sip)#bind media source-interface Loopback0
接下来,我们准备创建从R2路由器到SBCUCM服务器的连接。这将使用dial-peers。我们这里将使用2个dial-peers,一个接收从PSTN(POTS)来的呼入呼叫,并且另一个转发这个呼叫到SBCUCM服务器(VoIP)。
当呼叫进入路由器,呼入dial-peer的匹配基于DNIS,ANI,或者都是。下面的规则应用到呼入dial-peer,POTS和VoIP dial-peers两个都选择:
1.被叫号码匹配使用DNIS来执行,incomingcalled-number命令要被使用。
2.如果这里不匹配,主叫号码匹配使用ANI来执行。answer-address命令要被使用。
3.如果仍然不匹配,主叫号码匹配使用ANI来执行。destination-pattern命令要被使用。
4.如果没有匹配目标存在,dial-peer后面要接port命令。
5.如果没什么匹配,默认使用dial-peer 0命令。
第一个dial-peer需要被创建为POTS连接。在下面,incomingcalled-number命令后面是一一个符号“.”。这个意思是表示任何数字,0-9将会匹配。所以,任何被拨打的数字号码都将被匹配到这个dial-peer(除非使用“$”符号来结束)。接着,direct-inward-dial命令要被配置,这是为了防止二次拨号。
R2&
R2(config)#dial-peer voice 1 pots
R2(config-dial-peer)#incoming called-number .
R2(config-dial-peer)#direct-inward-dial
接下来的dial-peer必须配置为VoIP连接到SB CUCM服务器。destination-pattern命令将被使用,来匹配从PSTN进入的10位数pattern。接着,session protocol和sessiontarget命令来定义协议(SIP)和地址(142.100.65.11)。接着一个解码方式应该总是被定义在一个dial-peer上面。默认,所有的VoIP dial-peers都使用G.729解码,但是我们可以配置其他的解码方式来代替他,在dial-peers使用voice-class codec命令。这取决于先前配置的解码类别协商的解码方式。这里要求voiceclass优先使用G.711,并且G.729作为次要的。接着,DTMF-relay是每次建立dial-peer任何功能都要配置的。这个特殊的顺序为RTP-NTE或者SIP-NOTIFY。最后,Voice ActivityDetection (VAD)应该被关闭。为什么?因为VAD很不好。我们不需要VAD提供的这些功能(比如静音压制等等)。
R2&
R2(config)#voice class codec 1
R2(config-class)# codec preference 1 g711ulaw
R2(config-class)# codec preference 2 g729r8
R2(config)#dial-peer voice 2000 voip
R2(config-dial-peer)#destination-pattern 3123332...$
R2(config-dial-peer)#session protocol sipv2
R2(config-dial-peer)#sessiontarget ipv4:142.100.65.11
R2(config-dial-peer)#voice-class codec 1
R2(config-dial-peer)#dtmf-relay rtp-nte sip-notify
R2(config-dial-peer)#no vad
此时,路由器可以接收来自PSTN的呼叫,并且转发这些呼叫到SB CUCM服务器。现在,我们必须配置CUCM服务器来连接R2路由器。Device-->Trunk,注意这里是SIP网关,我们在CUCM必须配置一条trunk来代替作为一个MGCP或者H.323网关。
clip_image001
点击Add New按钮,并且选择“Trunk Type”和“Device Protocol”,点击Next按钮。
clip_image002
在Trunk配置页面中,指定一个“Device Name”。这只是一个修饰性的名称,并没有指定SIP流量的源IP地址。这里,取名为“R2_SIP_TRUNK”。
clip_image003
接着,选择一个适当的“DevicePool”。这里选择“SB_PHONE_DP”(最大灵活性)。
clip_image004
接着在“SIP Information”部分下面的“Destination Address”字段。输入R2 Loopback 0地址(142.1.65.254)来与R2网关进行通信。这里不但是重要的出站呼叫,而且还是从特殊的源IP地址的入站呼叫。
clip_image005
接下来,下面的“SIPTrunk Security Profile”和“SIP Profile”参数,这里分别配置为“Non SecureSIP Trunk Profile”和“Standard SIP Profile”。
clip_image006
这时,trunk已经配置连接到R2网关了。点击Save和Reset按钮,在SIP trunk上来应用这些配置。请注意,这里将没有任何可用的注册状态在CUCM上面,因为这个SIP网关不注册在CUCM上面。
························································
Task 11.3 用户应该从PSTN接收10位数DNIS。确保这个呼叫可以在SBIP电话上振铃。
创建dial-peer与10位数的destination-pattern为了路由器呼叫对准SB CUCM集群。然而SB电话拨打PSTN时,仍然不可达。这是由于,SB电话使用4位数扩展并且10位数号码将从R2发送到SBCUCM集群。
R2&
dial-peer voice 2000 voip
destination-pattern3123332...$
sessionprotocol sipv2
session targetipv4:142.100.65.11
voice-class codec1
dtmf-relayrtp-nte sip-notify
no vad
知道了这些,我们必须处理拨号是4位数的号码,而不是保持10位数的拨号格式。下面三条不同的方法可以被做到。
1.在呼叫送到CUCM之前就在R2的网关上处理号码。
2.在CUCM网关里的“SignificantDigits”字段处理号码。前面MGCP的实验说过。
3.在CUCM使用一个TranslationPattern从CSS分配到网关来处理号码。
大概在这里最好的选择是第一条。网关可以处理所有的号码处理,因此如果处于某些原因,这个CUCM服务器不可达,并且站点进入SRST模式,将不会改变这条呼叫的任何事情。这包括翻译规则和4位数号码的配置文件。在后面的使用我们将覆盖这些话题,我喜欢避开上面的选择,并且在这里使用选项二。
这里选择选项二,这就意味着号码将提供一个10位数的格式到CUCM。因此,这个改进从10位到4位数的转换必须在CUCM举行。来改变这个“SignificantDigits”字段。Device-->Trunk,点击前面创建的R2网关SIPTrunk(R2_SIP_TRUNK)。在“InboundCalls”部分,选择“4”在“Significant Digits”字段。并且选择一个“Calling SearchSpace”在系统来提供一个内部的号码通道(列如“GW_TRUNK_CSS”)。
clip_image007
此时,呼入呼叫到SB电话应该是可达的。使用SB PSTN线路(+19725252222)拨打一个SB线路(3332001)。这个呼叫应该成功的进行。验证这个呼叫从PSTN到达路由器,使用debug isdnq931命令。
R2&
R2#debug isdn q931
debug isdn q931 is ON.
Oct 16 07:25:38.615: ISDN Se0/0/0:23 Q931: RX <- SETUP pd = 8callref = 0x0089
BearerCapability i = 0x8090A2
Standard = CCITT
Transfer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
ChannelID i = 0xA98381
Exclusive, Channel 1
Display i= 'SB PSTN Phone'
Calling Party Number i = 0x4181, '5252222'
Plan:ISDN, Type:Subscriber(local)
Called Party Number i= 0xC1, '3123332001'
Plan:ISDN, Type:Subscriber(local)
Oct 16 07:25:38.619: ISDN Se0/0/0:23 Q931: Received SETUP callref =0x8089 callID = 0x0005 switch =
primary-ni interface = User
Oct 16 07:25:38.627: ISDN Se0/0/0:23 Q931: TX -> CALL_PROC pd =8 callref = 0x8089
ChannelID i = 0xA98381
Exclusive, Channel 1
Oct 16 07:25:38.639: ISDN Se0/0/0:23 Q931: TX -> ALERTING pd = 8callref = 0x8089
通过上面的输出,我们知道呼叫送达R2路由器(10位数的被叫号码格式)。接着,我们检查这个呼叫是发送到了CUCM。当然这之间的信息交流使用SIP,如下图的传递信息。
下面是一个“DelayedOffer”SIP交流,媒体性能判定(使用SDP会话描述协议来判定)之后初始化设置被留下。
clip_image008
下面是一个“EarlyOffer”SIP交流,媒体性能发送(使用SDP会话描述协议来判定)到INVITE信息原件里。SDP回应他们一个“183 Session Progress”信息或者“200OK”信息。
clip_image009
看了上面的图片,我们来查看一下R2和SBCUCM终端之间的SIP信息。这最好的查看方式使用debug ccsipmessages命令。在所有的SIP排错中,这是一个非常有用的命令。
R2&
R2#debug ccsip messages
SIP Call messages tracing is enabled
Oct 16 07:31:46.994: //12/51C98E568007/SIP/Msg/ccsipDisplayMsg:
Sent:
INVITEsip:3123332001@142.100.65.11:5060 SIP/2.0
Via: SIP/2.0/UDP142.1.65.254:5060;branch=z9hG4bK526B4
Remote-Party-ID: "SB PSTNPhone" 142.1.65.254>;party=calling;screen=yes;privacy=off
From: "SB PSTN Phone"42.1.65.254>;tag=2F836DE4-11E8
To: 142.100.65.11>
Date: Thu, 16 Oct 2014 07:31:46 GMT
Call-ID:51CA2B16-543D11E4-8025DB1E-B082E409@142.1.65.254
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 1372163670-1413288420-2147951849-3009744432
User-Agent: Cisco-SIPGateway/IOS-15.2.4.M5
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER,SUBSCRIBE, NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Max-Forwards: 70
Timestamp: 1413444706
Contact: 19725252222@142.1.65.254:5060>
Call-Info: 142.1.65.254:5060>;method="NOTIFY;Event=telephone-event;Duration=2000"
Expires: 180
Allow-Events: telephone-event
Content-Type:application/sdp
Content-Disposition: session;handling=required
Content-Length: 273
v=0
o=CiscoSystemsSIP-GW-UserAgent9606 4460 IN IP4 142.1.65.254
s=SIP Call
c=IN IP4 142.1.65.254
t=0 0
m=audio 16394 RTP/AVP 0 18 101
c=IN IP4 142.1.65.254
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
Oct 16 07:31:46.994: //12/51C98E568007/SIP/Msg/ccsipDisplayMsg:
Received:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP142.1.65.254:5060;branch=z9hG4bK526B4
From: "SB PSTN Phone"9725252222@142.1.65.254>;tag=2F836DE4-11E8
To: 42.100.65.11>
Date: Thu, 16 Oct 2014 07:31:46 GMT
Call-ID:51CA2B16-543D11E4-8025DB1E-B082E409@142.1.65.254
CSeq: 101 INVITE
Allow-Events: presence
Content-Length: 0
Oct 16 07:31:47.006: //12/51C98E568007/SIP/Msg/ccsipDisplayMsg:
Received:
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP142.1.65.254:5060;branch=z9hG4bK526B4
From: "SB PSTN Phone"9725252222@142.1.65.254>;tag=2F836DE4-11E8
To:42.100.65.11>;tag=34~fc58ca36-8b61-4fd9-a79e-d7aa6b8571b0-30886186
Date: Thu, 16 Oct 2014 07:31:46 GMT
Call-ID:51CA2B16-543D11E4-8025DB1E-B082E409@142.1.65.254
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE,REFER, SUBSCRIBE, NOTIFY
Allow-Events: presence
Call-Info: 142.100.65.11:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Supported: X-cisco-srtp-fallback
Supported: Geolocation
P-Asserted-Identity: "SB Phone1" 142.100.65.11>
Remote-Party-ID: "SB Phone1" 142.100.65.11>;party=called;screen=yes;privacy=off
Contact: 142.100.65.11:5060>
Content-Length: 0
|
|