07-SRST配置
本章节下载: 07-SRST配置 (1.31 MB)
在图1-1所示语音组网中,各分支机构语音网关或IP话机统一通过广域网链路接受总部语音服务器的呼叫管理。当广域网链路或是总部语音服务器发生故障导致分支机构设备无法正常与总部语音服务器通信时,所有呼叫包括本地呼叫都无法正常进行,这时候需要分支机构的一台支持SRST(Survivable Remote Site Telephony,本地存活)功能的设备能够暂时接管总部语音服务器完成呼叫管理,接受分支机构内话机号码的注册,保证本地呼叫正常以及分支机构用户通过PSTN网络拨打或接听外部电话;当广域网链路恢复后,本地呼叫管理功能失效,所有呼叫仍然由总部语音服务器管理。
图1-1 SRST语音典型组网
语音服务器有以下两种模式:
· 独立模式:设备作为一个小型的语音服务器,为中小企业或大企业分支机构提供完整的通话管理服务。
· 本地存活模式:设备作为大企业分支的本地存活模式语音服务器,本地存活模式的语音服务器通过保活探测的方式检测总部语音服务器状态。当广域网链路或是总部语音服务器发生故障时,本地存活语音服务器可以为分支机构用户提供通话服务。
为了便于描述,下文中提到的语音服务器,均指设备作为语音服务器。
在SRST组网中,SIP UA需要注册到工作在本地存活模式的语音服务器和独立模式的语音服务器上。其中,远端的独立模式语音服务器可以要求用户鉴权,本地存活模式语音服务器不会对用户信息进行鉴权。
图1-2 语音服务器接受注册过程
SRST功能的核心思想是,当本地存活模式语音服务器与远端服务器之间的广域网链路出现故障或者远端语音服务器故障时,本地存活模式语音服务器能够暂时代替远端服务器进行呼叫管理。因此本地存活模式语音服务器必须具有探测远端服务器是否处于正常工作的能力。在SRST功能实现中,探测远端服务器状态是通过本端语音服务器发送OPTIONS消息来完成的,该过程也称为保活探测。
保活探测过程如图1-3所示,本地存活模式语音服务器会向远端语音服务器发送OPTIONS消息,如果远端语音服务器可用,本地存活模式语音服务器将会收到远端语音服务器回复的200 OK响应。如果在指定时间没有收到回应消息或收到某些错误应答,则表示远端语音服务器不可用,本地存活模式语音服务器会暂时接管总部语音服务器完成呼叫管理。
当工作在本地存活模式的语音服务器和远端独立模式的语音服务器之间的WAN链路不可用时,分支机构内的呼叫、分支机构间的呼叫以及分支机构和总部间的呼叫都可以通过PSTN网络进行,只需要在组网中配置用于呼叫备份的语音实体,详细配置参见“1.10.3 PSTN备份功能配置举例”。
在SRST语音组网中,呼叫遵循SIP协议,不再赘述。这里只给出SRST语音组网的呼叫路径。如图1-4所示的SRST语音组网中,IP Phone A~D均为支持SIP协议的IP话机。
· IP Phone A和IP Phone B注册到本地存活语音服务器A(即Alive server A)和独立模式的语音服务器(即Alone server)上,IP Phone A和IP Phone B在Alive server A上注册成功时会产生两个动态VoIP语音实体,分别指向自身和Alone server。IP Phone A和IP Phone B在Alone server上注册成功时会产生指向自身的一个动态VoIP语音实体。
· IP Phone C和IP Phone D注册到本地存活语音服务器B(即Alive server B)和独立模式的语音服务器(即Alone server)上。IP Phone C和IP Phone D在Alive server B上注册成功时会产生两个动态VoIP语音实体,分别指向自身和Alone server。IP Phone C和IP Phone D在Alone server 上注册成功时会产生指向自身的一个动态VoIP语音实体。
图1-4 SRST基本呼叫组网图
(1) 实现分支机构内部的语音呼叫,例如IP Phone A呼叫IP Phone B:
· 假设IP Phone A呼叫IP Phone B,在IP Phone A上配置呼叫目的地为Alive server A,Alive server A会通过IP Phone A注册成功后产生的指向Alone server的动态VoIP语音实体将呼叫转发给Alone server,因此在Alone server上需要配置指向Alive server A的入实体,用于认证呼叫发起方的身份。IP Phone B在向Alone server注册后,在Alone server上会生成指向IP Phone B的动态VoIP语音实体,所以IP Phone A呼叫IP Phone B的呼叫是可以通过Alone server来管理。
· 假设IP Phone A呼叫IP Phone B,在IP Phone A上配置呼叫直接通过Alone server。因为在Alone server上存在指向IP Phone A和IP Phone B的动态VoIP语音实体,所以IP Phone A呼叫IP Phone B的呼叫是通过Alone server来管理。
假设Alone server出现故障,分支机构内部的语音呼叫可以通过本地语音服务器Alive server A或Alive server B来管理。
(2) 实现分支机构间的语音呼叫,例如IP Phone A呼叫IP Phone C:
· 假设IP Phone A呼叫IP Phone C,IP Phone A上配置呼叫目的地为Alive server A,那么需要在Alive server A上配置VoIP语音实体作为出实体,被叫号码为IP Phone C,目的IP地址为Alone server,以实现Alive server A可以将呼叫转给Alone server。IP Phone C在向Alone server注册时,在Alone server上存在指向IP Phone C的动态VoIP语音实体,所以IP Phone A呼叫IP Phone C的呼叫是通过Alone server来管理。
· 假设IP Phone A呼叫IP Phone C,IP Phone A上配置呼叫直接通过Alone server。因为在Alone server上存在指向IP Phone A和IP Phone C的动态VoIP语音实体,所以IP Phone A呼叫IP Phone C的呼叫是通过Alone server来管理。
假设Alone server出现故障,分支机构间的语音呼叫可以通过备份的PSTN网络完成呼叫。
关于SRST基本呼叫的详细配置请参见“1.10.4 语音服务器基本呼叫配置举例”。
SRST中为VoIP语音实体增加了两种VoIP语音实体类型:动态VoIP语音实体和VoIP语音入实体。
(1) 动态VoIP语音实体
动态VoIP语音实体是在SIP UA注册成功后,自动在设备上生成的,这种自动配置方式大大降低了网络管理员的工作量。目前只有在设备作为语音服务器时,才能生成动态VoIP语音实体。
· 动态VoIP语音实体按IP地址的指向区分,可以分为两种类型:IP地址为注册到语音服务器的SIP UA和IP地址为远端语音服务器。这两种动态VoIP语音实体的生成和语音服务器的模式相关,具体请参见“1.3 SRST配置任务简介”。
· 动态VoIP语音实体按注册状态区分,也有两种类型:注册动态VoIP语音实体和未注册动态VoIP语音实体。前者SIP UA注册成功后生成,后者需要在DN(Directory Number,号码目录)视图下配置未注册呼叫前转和号码,且不存在相同号码注册成功的情况下,才会生成未注册动态VoIP语音实体。关于语音服务器支持呼叫前转,请参见“1.8.5 配置语音服务器支持呼叫前转”。
(2) VoIP语音入实体
VoIP语音入实体用来标识入呼叫方向呼叫属性,实现认证呼叫发起方的身份,一路VoIP入呼叫的IP地址、主叫号码通过入实体的配置匹配后,呼叫才可能建立成功。VoIP语音入实体可以手工配置,或是由SIP UA注册成功后自动生成。
VoIP语音实体在用于匹配入呼叫时称为VoIP语音入实体,用于匹配出呼叫时称为VoIP语音出实体。
(3) 匹配VoIP语音入/出实体的顺序
对于VoIP语音入/出实体,优先匹配VoIP动态语音实体,如果没有匹配到,则按hunt规则继续匹配,关于hunt规则请参见“语音配置指导”中的“拨号策略”的语音实体的选取规则顺序部分。
通过命令行设置,可以将设备配置为两种语音服务器模式:
· 独立模式:设备作为一个小型的语音服务器工作,为中小企业或大企业分支机构提供完整的通话管理服务。
· 本地存活模式:设备作为大企业分支的本地存活服务器,可以和总部语音服务器进行联动,当总部语音服务中断时,为分支机构用户提供通话服务。运行在本地存活模式的语音服务器可以支持定期向远端语音服务器发送保活探测报文。
独立模式和本地存活模式语音服务器在配置上的异同点如下:
(1) 独立模式和本地存活模式语音服务器上都需要开启接受注册服务,并指定工作模式,接着通过配置注册池来指定允许注册的SIP UA的条件,其中独立模式语音服务器在接受SIP UA注册时,如果需要对SIP UA进行鉴权,可以开启鉴权认证功能。本地存活模式语音服务器不会对SIP UA信息进行鉴权,所以即使配置鉴权,鉴权功能也不会生效。
(2) 在独立模式语音服务器上只会产生一种动态VoIP语音实体,即SIP UA注册成功后,在独立模式语音服务器上会自动生成指向SIP UA的动态VoIP语音实体。
(3) 在本地存活模式语音服务器上如果开启保活探测功能,还会自动生成指向远端语音服务器的动态VoIP语音实体。
(4) 在SIP UA首次注册成功时,或是SIP UA注册成功后,在独立模式或本地存活语音服务器的注册池下配置某些参数,动态VoIP语音实体会以注册池下的配置为模板,继承注册池下的配置。
(5) 在独立模式或本地存活模式语音服务器上生成的动态VoIP语音实体从40001开始编号,如果存在从40001开始的手工配置的POTS或VoIP语音实体,独立模式和本地存活模式语音服务器会跳过该编号后,继续编号。用户不能手动修改或删除动态VoIP语音实体,执行undo voice register global命令、undo proxy命令、更改语音服务器模式命令或是修改允许注册的SIP UA的条件后可能会删除已有的动态VoIP语音实体。
(6) 对于proxy命令生成的指向远端语音服务器的动态VoIP语音实体,如果存在多个相同号码的SIP UA,proxy命令自动生成一个指向远端语音服务器的动态VoIP语音实体。只有在所有相同号码的SIP UA都注销后,该动态VoIP语音实体才会被删除。
关于两种模式语音服务器的详细配置请参考下文SRST配置任务。
表1-1 SRST配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置独立模式 |
配置接受注册功能 |
必选 |
|
配置独立模式 |
必选 |
||
配置接受注册相关参数 |
必选 |
||
配置注册池 |
必选 |
||
配置号码目录 |
可选 |
||
配置本地存活模式 |
配置服务器接受注册功能 |
必选 |
|
配置本地存活模式 |
必选 |
||
配置接受注册相关参数 |
必选 |
||
配置注册池 |
可选 |
||
配置号码目录 |
可选 |
||
配置语音服务器支持的语音业务 |
配置语音服务器提供MOH资源 |
根据业务需要进行配置 |
|
配置语音服务器支持MWI |
|||
配置语音服务器支持呼叫代答 |
|||
配置语音服务器支持DND功能 |
|||
配置语音服务器支持呼叫前转 |
|||
配置语音服务器支持呼叫阻塞 |
|||
配置FAC |
在SRST组网中除了可以实现基本呼叫,还可以支持各种业务。目前SRST支持的业务有:
· 呼叫保持
· 呼叫转接
· 提供MOH资源
· 支持MWI
· 支持呼叫代答
· 支持DND功能
· 支持呼叫前转
· 支持呼叫阻塞
· 支持FAC
本节详细介绍了将一台设备配置为独立模式语音服务器的步骤。
设备作为语音网关或SIP Trunk时,是不能接受注册请求报文的,为了使设备能够接收并处理注册报文,需要先开启接受注册功能。
表1-2 配置服务器接受注册功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入SIP视图 |
sip |
- |
开启接受注册服务,并配置全局注册时间 |
registrar server [ expires { max max | min min} * ] |
缺省情况下,接受注册服务处于关闭状态 |
表1-3 配置独立模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入全局注册视图 |
voice register global |
缺省情况下,不存在全局注册视图 |
配置独立模式 |
mode alone |
缺省情况下,设备工作在非服务器模式 |
设备作为语音服务器成功接受SIP UA注册,需要在全局注册视图配置注册池的最大数量和DN的最大数量。
语音服务器在接受SIP UA注册时,如果需要对SIP UA进行鉴权,可以开启鉴权认证功能。鉴权信息可以通过注册池下的username命令配置,域名信息可以通过authenticate realm命令配置。
表1-4 配置注册相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入全局注册视图 |
voice register global |
缺省情况下,不存在全局注册视图 |
配置注册池的最大数量 |
max-pool max-pool |
缺省情况下,注册池的最大数量为0,即不允许配置注册池 |
配置DN的最大数量 |
max-dn max-dn |
缺省情况下,DN的最大数量为0,即不允许配置DN |
(可选)配置鉴权认证功能 |
authenticate register |
缺省情况下,鉴权认证功能处于关闭状态 |
(可选)配置鉴权认证域名 |
authenticate realm string |
缺省情况下,不存在鉴权认证域名 |
(可选)配置注册池中的鉴权信息 |
username username password { cipher | simple } string |
缺省情况下,不存在鉴权信息,即语音服务器不对SIP UA进行鉴权 需要注意的是,在注册池下配置的username命令不会同步到动态VoIP语音实体上 |
注册池是SIP UA注册信息的集合,如果SIP UA的注册信息匹配上注册池中配置的条件,那么这些SIP UA可以注册到语音服务器上。
注册匹配成功的条件如下:
(1) 存在多个注册池时,SIP UA按照注册池pool-tag值从小到大来匹配注册条件。
(2) 在注册池中可以通过id命令配置允许注册的SIP UA的条件,也可以通过number命令配置允许注册的号码模板。至少要选择其中一种方式来指定能够注册的SIP UA的注册信息。
(3) 如果通过number命令配置多个允许注册的号码模板,按number命令的tag值从小到大来匹配注册条件。
(4) 如果同时配置注册池下的number和id命令,那么只有同时满足两者条件的SIP UA才能注册成功。
需要注意的是,在注册池下通过number命令配置的如果是号码模板,例如配置number 1000,号码1000是一个号码模板,表示可以匹配以1000号码开头的号码。如果有语音组网中有话机10001,10002,10003,那么这些号码都可以注册到语音服务器上。在语音服务器上,通过display voice register entity和display voice register pool all brief命令查看到的实际注册成功的号码都是以$结尾,例如1000$,10001$,10002$,10003$。
语音服务器不支持SIP UA配置使用注册服务器的域名来完成注册。如果SIP UA配置使用TCP或TLS传输协议完成注册,则语音服务器不支持使用id命令配置MAC地址。
在注册池下配置某些参数后,动态VoIP语音实体会以注册池下的配置为模板,继承注册池下的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的注册池视图 |
voice register pool pool-tag |
缺省情况下,不存在注册池 |
配置注册池中允许注册的SIP UA的条件 |
id { ip ip-address | network network [ mask { mask-length | mask } ] | mac mac-address } |
二者选其一 缺省情况下,未限定允许注册的条件,不存在允许注册的号码模板 在使用number命令配置允许注册的号码时,可以直接配置号码,也可以通过引用DN的配置。如果使用引用目录号码方式,引用的目录号码必须已经存在。关于DN的详细配置请参见“1.5.5 配置号码目录” |
配置注册池中允许注册的号码模板 |
number tag { number | dn dn-tag } |
|
(可选)配置注册有效时间 |
registration-timer max max min min |
缺省情况下,不存在缺省的注册有效时间。如果该注册池下没有注册有效时间,那么该注册池使用全局命令registrar server设置的全局注册有效时间 |
(可选)配置指向SIP UA的动态VoIP语音实体的优先级 |
priority priority |
缺省情况下,优先级为0 数值越小表示优先级越高 |
(可选)配置使用带外方式传输DTMF信号 |
outband { nte | sip } |
缺省情况下,使用带内方式传输DTMF信号 |
(可选)将指定号码变换规则表绑定到注册池 |
substitute { called | calling } list-number |
缺省情况下,没有绑定号码变换规则表,即不进行号码变换 |
(可选)将指定的编解码模板绑定到注册池 |
voice-class codec tag |
缺省情况下,编解码模板和注册池没有绑定关系 |
(可选)将指定的用户组绑定到注册池 |
caller-group { deny | permit } group-id |
缺省情况下,用户组和注册池没有绑定关系 |
如果需要为某个号码做特殊的配置,例如配置指向其的动态VoIP语音实体或是为该号码开启特定的语音业务,这时可以配置DN,然后将DN应用到注册池中,实现将DN下号码注册到语音服务器上。
需要注意的是:
· DN下的配置优先级高于注册池下的配置。例如在注册池下配置id命令,使10.1.1.0网段上的多个IP话机使用该注册池的设置,在这个网段中对于号码为1000的IP话机需要做特殊配置,例如修改指向号码1000的动态VoIP语音实体的优先级为1,这时可以为号码1000配置DN,在DN视图配置priority 1,DN下的priority命令优先级高于Pool注册池下的priority命令。
· 一个DN目录只能配置一个号码模板,例如配置number 1000,号码1000是一个号码模板,表示可以匹配以1000号码开头的号码。如果有语音组网中有话机10001,10002,10003,那么这些号码都可以注册到语音服务器上。在语音服务器上,通过display voice register entity和display voice register pool all brief命令查看到的实际注册成功的号码都是以$结尾,例如1000$,10001$,10002$,10003$。
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的DN视图 |
voice register dn dn-tag |
缺省情况下,不存在DN |
配置允许注册的号码模板 |
number number |
缺省情况下,不存在允许注册的号码模板 一个DN目录只能配置一个号码模板,例如配置number 1000,号码1000是一个号码模板,表示可以匹配以1000号码开头的号码。如果有语音组网中有话机10001,10002,10003,那么这些号码都可以注册到语音服务器上 |
配置指向SIP UA的动态VoIP语音实体的优先级 |
priority priority |
缺省情况下,优先级为0 数值越小表示优先级越高 |
本节详细介绍了将一台设备配置为本地存活模式语音服务器的步骤。
设备作为语音网关或SIP Trunk时,是不能接受注册请求报文的,为了使设备能够接收并处理注册报文,需要先开启接受注册功能。
表1-7 配置接受注册功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入SIP视图 |
sip |
- |
开启接受注册服务,并配置全局注册时间 |
registrar server [ expires { max max | min min } * ] |
缺省情况下,接受注册服务处于关闭状态 |
表1-8 配置本地存活模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入全局注册视图 |
voice register global |
缺省情况下,不存在全局注册视图 |
配置本地存活模式 |
mode alive |
缺省情况下,设备工作在非服务器模式 |
设备作为语音服务器成功接受SIP UA注册,需要在全局注册视图配置注册池的最大数量和DN的最大数量。
表1-9 配置接受注册相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入全局注册视图 |
voice register global |
- |
配置注册池的最大数量 |
max-pool max-pool |
缺省情况下,注册池的最大数量为0,即不允许配置注册池 |
配置DN的最大数量 |
max-dn max-dn |
缺省情况下,DN的最大数量为0,即不允许配置DN |
在本地存活模式语音服务器上配置注册池的意义和步骤和独立模式语音服务器相同,但是在注册池下需要配置远端语音服务器和保活探测,其中保活探测功能为可选功能。
本地存活模式语音服务器上会自动生成指向SIP UA的动态VoIP语音实体和指向远端语音服务务器的动态VoIP语音实体,在生成动态VoIP语音实体时,两种动态VoIP语音实体都会以注册池下的配置为模板,继承注册池下的配置。
表1-10 配置注册池
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的注册池视图 |
voice register pool pool-tag |
缺省情况下,不存在注册池 |
配置注册池中允许注册的SIP UA的条件 |
id { ip ip-address | network network [ mask { mask-length | mask } ] | mac mac-address } |
二者选其一 缺省情况下,未限定允许注册的条件,不存在允许注册的号码模板 在使用number命令配置允许注册的号码时,可以直接配置号码,也可以通过引用DN的配置。如果使用引用目录号码方式,引用的目录号码必须已经存在。关于DN的详细配置请参见“1.6.5 配置号码目录” |
配置注册池中允许注册的号码模板 |
number tag { number | dn dn-tag } |
|
(可选)配置注册有效时间 |
registration-timer max max min min |
缺省情况下,不存在缺省的注册有效时间。如果该注册池下没有注册有效时间,那么该注册池使用全局命令registrar server设置的全局注册有效时间 需要注意的是,在注册池下配置的registration-timer命令不会同步到动态VoIP语音实体上 |
(可选)配置指向SIP UA的动态VoIP语音实体的优先级 |
priority priority |
缺省情况下,优先级为0 数值越小表示优先级越高 |
配置远端语音服务器及保活探测功能 |
proxy ip ip1 [ port main-port-number ] [ monitor probe sip [ ip2 [ port backup-port-number ] ] ] [ priority priority ] |
缺省情况下,不存在远端语音服务器信息 |
(可选)配置保活报文的参数 |
voice-class sip options-keepalive [ up-interval interval ] [ down-interval interval ] [ retry retries ] |
缺省情况下,up-interval为60秒,down-interval为30秒,retry为5次 需要注意的是,在注册池下配置的voice-class sip options-keepalive命令不会同步到动态VoIP语音实体上 |
(可选)配置使用带外方式传输DTMF信号 |
outband { nte | sip } |
缺省情况下,使用带内方式传输DTMF信号 |
(可选)将指定号码变换规则表绑定到注册池 |
substitute { called | calling } list-number |
缺省情况下,未绑定号码变换规则表,即不进行号码变换 |
(可选)将指定的编解码模板绑定到注册池 |
voice-class codec |
缺省情况下,编解码模板和注册池没有绑定关系 |
(可选)将指定的用户组绑定到注册池 |
caller-group { deny | permit } group-id |
缺省情况下,用户组和注册池没有绑定关系 |
如果需要为某个号码做特殊的配置,例如配置指向其的动态VoIP语音实体或是为该号码开启特定的语音业务,这时可以配置DN,然后将DN应用到注册池中,实现将DN下号码注册到语音服务器上。
需要注意的是:
· DN下的配置优先级高于注册池下的配置。例如在注册池下配置id命令,使10.1.1.0网段上的多个IP话机使用该注册池的设置,在这个网段中对于号码为1000的IP话机需要做特殊配置,例如修改指向号码1000的动态VoIP语音实体的优先级为1,这时可以为号码1000配置DN,在DN视图配置priority 1,DN下的priority命令优先级高于Pool注册池下的priority命令。
· 一个DN目录只能配置一个号码模板,例如配置number 1000,号码1000是一个号码模板,表示可以匹配以1000号码开头的号码。如果有语音组网中有话机10001,10002,10003,那么这些号码都可以注册到语音服务器上。在语音服务器上,通过display voice register entity和display voice register pool all brief命令查看到的实际注册成功的号码都是以$结尾,例如1000$,10001$,10002$,10003$。
表1-11 配置号码目录
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的DN视图 |
voice register dn dn-tag |
缺省情况下,不存在DN |
配置允许注册的号码模板 |
number number |
缺省情况下,不存在允许注册的号码模板 一个DN目录只能配置一个号码模板,例如配置number 1000,号码1000是一个号码模板,表示可以匹配以1000号码开头的号码。如果有语音组网中有话机10001,10002,10003,那么这些号码都可以注册到语音服务器上 |
配置指向SIP UA的动态VoIP语音实体的优先级 |
priority priority |
缺省情况下,优先级为0 数值越小表示优先级越高 |
配置语音服务器支持基本呼叫时请注意检查以下配置事项:
(1) 如果语音服务器需要转发SIP报文,那么在语音服务器上需要配置allow-connections sip to sip命令。
(2) 配置到达对端的VoIP语音出实体。
(3) 配置用来标识入呼叫方向呼叫属性的VoIP语音入实体。
在一个呼叫管理服务器管理多个分支机构的语音设备组网中,如果音乐保持媒体流都由呼叫管理服务器发送,那么将会占用较多带宽。为了节省带宽,可以配置由分支机构中的语音服务器发送音乐保持媒体流。如图1-5组网中,将一台路由器配置为语音服务器(Alone server),该语音服务器和IP Phone A都属于分支机构,在呼叫管理服务器和Alone server上配置MOH资源组播地址为239.1.1.2,端口为2009。如果IP Phone B要对IP Phone A发起呼叫保持业务,呼叫管理服务器在收到来自IP Phone B用于发起呼叫保持的Re-Invite报文后,会将组播地址和端口信息发送给被保持方IP Phone A,然后IP Phone A会自动加入配置的组播组,接收Alone server发送到组播地址的音乐保持媒体流。
呼叫被保持方可使用组播或单播方式接收音乐保持媒体流。
· 配置使用单播方式接收音乐保持媒体流时,需要使用call-hold-format sendonly命令将呼叫保持的模式配置为放音模式。
· 配置使用组播方式接收音乐保持媒体流时,需要使用multicast moh ip命令配置提供音乐保持媒体流的组播地址。使用这种方式时,需要在呼叫管理服务器上指定使用组播方式接收MOH资源。
如果在语音服务器上同时配置以上两种方式,则以呼叫管理服务器上的配置为准。
图1-5 语音服务器提供MOH资源组网图
设备具备提供MOH资源的能力和设备的角色无关,设备作为语音网关或是路由器时,亦均可提供MOH资源。
表1-12 配置语音服务器提供MOH资源
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入语音视图 |
voice-setup |
- |
|
进入全局注册视图 |
voice register global |
- |
|
配置语音服务器提供MOH资源 |
配置提供音乐保持媒体流的组播地址 |
multicast moh ip multicast-address port port-number route address-list |
缺省情况下,不存在提供音乐保持媒体流的组播地址 |
配置使用单播方式发送音乐保持媒体流 |
call-hold-format sendonly |
缺省情况下,呼叫保持采用inactive模式。关于该命令的详细配置请参见“语音配置指导”中的“语音业务” |
|
配置音乐保持媒体资源文件 |
moh file filename |
缺省情况下,不存在音乐保持媒体资源文件 |
配置该功能后,如果DN下的号码在语音服务器上成功注册,那么该号码可以通过语音服务器向指定的MWI服务器发起订阅。
关于MWI业务的介绍请参见“语音配置指导”中的“语音业务”。
表1-13 语音服务器支持MWI
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入SIP视图 |
sip |
- |
配置语音信箱服务器的信息 |
mwi-server { dns domain-name | ip ip-address } [ port port-number ] [ expires seconds ] [ transport { tcp [ tls ] | udp } ] [ scheme { sip | sips } ] |
缺省情况下,不存在语音信箱服务器的信息 设备作为语音服务器支持MWI业务时,必须配置请求模式 |
退出SIP视图 |
quit |
- |
创建并进入指定的DN视图 |
voice register dn dn-tag |
缺省情况下,不存在DN |
开启消息等待指示功能 |
mwi |
缺省情况下,消息等待指示功能处于关闭状态 |
呼叫代答指的是被叫话机振铃后,代答方通过按键为被叫号码代答,这里的被叫方即为被代答方。呼叫代答业务包括直接呼叫代答,组内代答和组间代答。
· 直接呼叫代答是指任何一部IP Phone都可以代答。IP Phone的代答方法是按“GPickUp软键”,然后拨打被代答方的号码。使用这种代答方式,被代答方和代答方不必属于某个特定的代答组。
· 组内代答是同一个代答组中的IP Phone可以相互代答。IP Phone的代答方法如下:假设IP Phone A和IP Phone B同属于一个代答组,若IP Phone A接收到某路呼叫后振铃,IP Phone B可以通过按“PickUp软键”来代答IP Phone A。或者IP Phone B通过按“GPickUp软键”,然后拨打“*”的方式来代答IP Phone A。使用这种代答方式,被代答方和代答方必须属于同一个代答组。
· 组间代答是不同代答组中的IP Phone可以相互代答。IP Phone的代答方式如下:假设IP Phone A属于代答组1,IP Phone B属于代答组2,若IP Phone A接收到某路呼叫后振铃,IP Phone B可以通过按“GPickUp软键”+电话A的代答组号“1”的方式来为IP Phone A代答。使用这种代答方式,被代答方必须在某个代答组中。还有一种特殊的组间代答方式,假设被代答方IP Phone A存在某个代答组中,而代答方IP Phone B不在该代答组中或是不在任何代答组中,在这种情况下,为IP Phone B号码配置pickup-call any-group,IP Phone B可以用按“GPickUp软键”,然后拨打“*”的方式为IP Phone A代答。
表1-14 配置语音服务器支持呼叫代答
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的DN视图 |
voice register dn dn-tag |
缺省情况下,不存在DN |
为号码指定呼叫代答组 |
pickup-group group-name |
缺省情况下,不存在呼叫代答组 |
配置代答方以“GPickUp软键*”按键实现组间代答 |
pickup-call any-group |
缺省情况下,不存在此配置 |
开启DND(Do-not Disturb,免打扰)功能,对注册池下的号码实现禁止入呼叫,即这些号码作为被叫接受呼叫时,会回复486(用户忙)。但是这些号码向外发起呼叫是不受限的。
如果在注册池下同时配置呼叫前转,DND的优先级高于呼叫前转功能。
表1-15 配置语音服务器支持DND功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入SIP视图 |
sip |
- |
创建并进入指定的注册池视图 |
voice register pool pool-tag |
缺省情况下,不存在注册池 |
开启DND功能 |
dnd |
缺省情况下,DND功能处于关闭状态 |
语音服务器在接受SIP UA的注册后,会产生到达各SIP UA的动态VoIP语音实体。当被叫号码对应的动态VoIP语音实体下存在呼叫前转配置时,该路呼叫会被前转到指定的呼叫目的方。
语音服务器支持无条件、遇忙、无应答和未注册四种呼叫前转,按优先级从高到低依次是:无条件前转、遇忙前转、无应答前转。未注册前转不会和其他三种前转出现在同一动态VoIP语音实体中,其优先级与其他三种没有可比性。需要注意的是,all、busy、noan参数可以在注册池、DN视图下配置,unregistered参数只能在DN视图下配置。
· 实际应用时,为了保证该功能能够正常使用,请用户合理、有效地规划前转目的号码,避免出现错号、循环呼叫。
· 为避免循环前转,目前一个呼叫最多可以前转5次。
· 如果在注册池下同时配置DND,DND的优先级高于呼叫前转功能。
· 如果在注册池下同时配置呼叫阻塞,呼叫阻塞的优先级高于呼叫前转功能。
表1-16 在DN视图配置呼叫前转功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的DN视图 |
voice register dn dn-tag |
- |
配置呼叫前转功能 |
call-forward b2bua { all number | busy number | noan number [ timeout seconds ] | unregistered number } |
缺省情况下,呼叫前转功能处于关闭状态 |
表1-17 在注册池视图配置呼叫前转功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
创建并进入指定的注册池视图 |
voice register pool pool-tag |
- |
配置呼叫前转功能 |
call-forward b2bua { all number | busy number | noan number [ timeout seconds ] } |
缺省情况下,呼叫前转功能处于关闭状态 |
呼叫阻塞业务用于在特定时间内,防止未经授权使用某些电话。在配置的时间范围内,如果有呼叫匹配到指定的被叫号码模板,该路呼叫会被阻塞,主叫用户会收到被叫回复的响应值500,并听到忙音,但是这些号码模板向外发起呼叫是不受限的。另外,语音服务器可以支持对特定号码免除呼叫阻塞。
· 如果在注册池下同时配置DND,呼叫阻塞的优先级高于DND功能。
· 如果在注册池下同时配置呼叫前转,呼叫阻塞的优先级高于呼叫前转功能。
表1-18 配置语音服务器支持呼叫阻塞
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
开启呼叫阻塞功能 |
after-hours block pattern pattern-tag pattern [ 7-24 ] |
缺省情况下,呼叫阻塞功能处于关闭状态 如果被叫号码可以匹配多个pattern(匹配阻塞的被叫号码模板),以pattern-tag最小的被叫号码模板为准。 不指定7-24关键字将不开启全天候呼叫阻塞功能,用户可配合after-hours day和after-hours date命令按需配置特定时间的呼叫阻塞功能 |
配置对每月的特定时间开启呼叫阻塞 |
after-hours date month date start-time stop-time |
缺省情况下,未配置对每月的特定时间开启呼叫阻塞 |
配置对每周的特定时间开启呼叫阻塞 |
after-hours day day start-time stop-time |
缺省情况下,未配置对每周的特定时间开启呼叫阻塞 |
创建并进入指定的DN视图 |
voice register dn dn-tag |
- |
配置呼叫阻塞免除 |
after-hours exempt |
缺省情况下,未配置呼叫阻塞免除 |
FAC(Feature Access Codes,业务特征码),指的是在设备上先通过命令行给不同的语音业务指定特定的FAC,设备收到指定的FAC后,就能立即启动对应的业务。通过用户拨打特征码就可以触发语音业务,比起繁琐的命令行配置,这种业务登记方式更为简洁和高效。
以无条件前转为例,登记标准FAC为*57*,取消标准FAC登记为#57#。用户发起无条件前转登记时,必须输入*57*和前转号码,否则业务登记失败。用户取消无条件前转登记时,只需输入#57#。
FAC分为标准和自定义两种,标准的特征码属于私有规定,自定义的特征码可由用户配置。
用户拨号进行业务登记时,设备将登记结束符前的所有号码。使用标准FAC时,拨号结束符为#,且不可被修改。
表1-19 标准FAC
标准FAC |
描述 |
*40* |
遇忙前转 |
#40# |
取消遇忙前转 |
*41* |
无应答前转 |
#41# |
取消无应答前转 |
*44* |
未注册前转 |
#44# |
取消未注册前转 |
*57* |
无条件前转 |
#57# |
取消无条件前转 |
*70* |
免打扰功能 |
#70# |
取消免打扰功能 |
*80* |
直接呼叫代答 |
*81* |
组内呼叫代答 |
*82* |
组间呼叫代答 |
在配置时,需要注意以下事项:
· 配置自定义FAC时,建议给每个语音业务分配唯一的FAC;登记和取消登记的FAC不包含相同的前缀;FAC加上目的号码不与其他FAC重叠。
· FAC是通过直接修改动态VoIP语音实体下的配置,并不会改变注册池下的配置。例如,如果使用FAC登记DND业务后,在动态VoIP语音实体下生成了关于此业务的配置,即dnd命令。如果该动态VoIP语音实体对应的注册池下已经配置了dnd命令,那么在注册池下配置undo dnd命令,也可以取消该动态VoIP语音实体下的dnd命令的效果。但是如果该动态VoIP语音实体对应的注册池下没有配置dnd命令,那么执行undo dnd命令就无法取消该动态VoIP语音实体下的配置。解决方式为,可以先在注册池上配置dnd命令,然后再执行undo dnd命令。
· 在设备作为语音服务器时,只有在语音服务器上成功注册的用户才能发起登记业务。但是对于未注册前转FAC,由于不存在未注册动态VoIP语音实体,所以前转配置是先同步至DN视图下。只有当该用户在语音服务器上注销其信息后,会产生该DN号码对应的未注册动态VoIP语音实体,并且生成未注册前转命令,此时未注册前转才会生效。
· 设备作为网关或语音服务器时,均可以使用FAC功能。需要注意的是,设备作为网关时,只支持呼叫前转(不包括未注册和不可用呼叫前转)的FAC。
· FAC加上登记的号码,最长只能支持31位。
表1-20 配置FAC
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入语音视图 |
voice-setup |
- |
|
配置FAC |
开启标准FAC功能 |
fac standard |
缺省情况下,标准FAC功能处于关闭状态 |
配置并开启自定义FAC |
fac custom { alias id custom-string to existing-string | callfwd { all | all-cancel | busy | busy-cancel | noan | noan-cancel | unregistered | unregistered-cancel } string | dnd [ cancel ] string | pickup { direct | group | local } string } |
缺省情况下,FAC功能处于关闭状态 配置自定义FAC时,建议不要将不同业务配置共用一个FAC |
|
配置自定义FAC的结束符 |
fac terminator charactor |
缺省情况下,自定义FAC的结束符为# 该命令仅在设备作为网关模式时才能生效 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后SRST的运行情况,通过查看显示信息验证配置的效果。
表1-21 SRST显示和维护
操作 |
命令 |
显示注册池中SIP UA的注册状态信息 |
display voice register pool all brief |
显示注册池产生的动态VoIP语音实体信息 |
display voice register entity { pool tag | all } |
显示语音实体的配置信息 |
display voice entity { entity-tag | all | pots | voip } |
示配置的FAC |
display voice fac |
在语音组网中,有一台本地存活模式语音服务器和一台独立模式语音服务器,其中本地存活模式语音服务器作为本地语音服务器,独立模式语音服务器作为远端语音服务器,IP话机A和IP话机B接受远端服务器的呼叫管理。为了保证在远端服务器出现故障时,IP话机A和IP话机B仍然能够可以通话,需要将IP电话注册到本地语音服务器上。
图1-6 语音服务器接受SIP UA注册组网图
(1) 配置Alive server
# 配置允许SIP到SIP的VoIP呼叫连接。
<Alive> system-view
[Alive] voice-setup
[Alive-voice] allow-connections sip to sip
# 开启Alive server接受注册。
[Alive-voice] sip
[Alive-voice-sip] registrar server
[Alive-voice-sip] quit
# 配置Alive server工作在本地存活模式,注册池的最大数量为10,DN的最大数量为10。
[Alive] voice-setup
[Alive-voice] voice register global
[Alive-voice-register-global] mode alive
[Alive-voice-register-global] max-pool 10
[Alive-voice-register-global] max-dn 10
[Alive-voice-register-global] quit
# 配置DN为1,号码模板为1000,指向号码模板1000的动态VoIP语音实体的优先级为1。
[Alive-voice] voice register dn 1
[Alive-voice-register-dn1] number 1000$
[Alive-voice-register-dn1] priority 1
[Alive-voice-register-dn1] quit
# 配置注册池1。将DN 1应用到注册池下的方式来设置IP Phone A的信息,以及指向号码模板1000的动态VoIP语音实体的优先级为2。
[Alive-voice] voice register pool 1
[Alive-voice-register-pool1] id ip 192.168.4.100
[Alive-voice-register-pool1] number 1 dn 1
[Alive-voice-register-pool1] priority 2
# 配置远端服务器地址信息。
[Alive-voice-register-pool1] proxy ip 10.1.1.2 monitor probe sip
[Alive-voice-register-pool1] quit
# 配置注册池2,并设置IP Phone B的信息,以及指向号码模板2000的动态VoIP语音实体的优先级为3。
[Alive-voice] voice register pool 2
[Alive-voice-register-pool2] id ip 192.168.4.101
[Alive-voice-register-pool2] number 1 2000$
[Alive-voice-register-pool2] priority 3
# 配置远端服务器地址信息。
[Alive-voice-register-pool2] proxy ip 10.1.1.2
[Alive-voice-register-pool2] quit
# 显示注册池中SIP UA的注册状态信息。
[Alive-voice] display voice register pool all brief
Pool ID IP Address Ln DN Number State
-----------------------------------------------------------------------------
1 192.168.4.100 1 1 1000 Unregistered
2 192.168.4.101 1 2000 Unregistered
从上述显示信息可以查看到两个IP话机都没有成功注册到Alive server上。
# 显示注册池产生的动态VoIP语音实体信息。
[Alive-voice] display voice register entity all
Entities created dynamically on register pool 1:
There are no entities in this pool.
Entities created dynamically on register pool 2:
There are no entities in this pool.
从上述显示信息可以查看到注册池下没有产生动态VoIP语音实体。
(2) 配置Alone server
# 配置允许SIP到SIP的VoIP呼叫连接。
<Alone> system-view
[Alone] voice-setup
[Alone-voice] allow-connections sip to sip
# 开启Alone server接受注册。
[Alone-voice] sip
[Alone-voice-sip] registrar server
[Alone-voice-sip] quit
# 配置Alone server工作在独立模式,注册池的最大数量为10,DN的最大数量为10。
[Alone] voice-setup
[Alone-voice] voice register global
[Alone-voice-register-global] mode alone
[Alone-voice-register-global] max-pool 10
[Alone-voice-register-global] max-dn 10
[Alone-voice-register-global] quit
# 配置DN为1,号码模板为1000,指向号码模板1000的动态VoIP语音实体的优先级为1。
[Alone] voice-setup
[Alone-voice] voice register dn 1
[Alone-voice-register-dn1] number 1000$
[Alone-voice-register-dn1] priority 1
[Alone-voice-register-dn1] quit
# 配置注册池1。将DN 1应用到注册池下的方式来设置IP Phone A的信息,以及指向号码模板1000的动态VoIP语音实体的优先级为2。
[Alone] voice-setup
[Alone-voice] voice register pool 1
[Alone-voice-register-pool1] id ip 192.168.4.100
[Alone-voice-register-pool1] number 1 dn 1
[Alone-voice-register-pool1] priority 2
[Alone-voice-register-pool1] quit
# 配置注册池2,并设置IP Phone B的信息,以及指向号码模板2000的动态VoIP语音实体的优先级为3。
[Alone-voice] voice register pool 2
[Alone-voice-register-pool2] id ip 192.168.4.101
[Alone-voice-register-pool2] number 1 2000$
[Alone-voice-register-pool2] priority 3
[Alone-voice-register-pool2] quit
# 显示注册池中SIP UA的注册状态信息。
[Alone-voice] display voice register pool all brief
Pool ID IP Address Ln DN Number State
-----------------------------------------------------------------------------
1 192.168.4.100 1 1 1000 Unregistered
2 192.168.4.101 1 2000 Unregistered
从上述显示信息可以查看到两个IP话机都没有成功注册到Alone server上。
[Alone-voice] display voice register entity all
Entities created dynamically on register pool 1:
There are no entities in this pool.
Entities created dynamically on register pool 2:
There are no entities in this pool.
从上述显示信息可以查看到注册池下没有产生动态VoIP语音实体。
(1) 两台IP电话向Alive server发起注册,使用display voice register entity命令显示SIP UA在Alive server上的注册结果,使用display voice register pool all brief命令显示注册池产生的动态VoIP语音实体信息。
[Alive] display voice register pool all brief
Pool ID IP Address Ln DN Number State
----------------------------------------------------------------------------------------
1 192.168.4.100 192.168.4.100 1 1 1000$ Registered
2 192.168.4.101 192.168.4.101 1 2000$ Registered
[Alive] display voice register entity all
Entities created dynamically on register pool 1:
entity 40001 voip
match-template 1000$
address sip ip 192.168.4.100 port 10002
session transport udp
priority 1
entity 40002 voip
match-template 1000$
address sip ip 10.1.1.2 port 5060
session transport global
Entities created dynamically on register pool 2:
entity 40003 voip
match-template 2000$
address sip ip 192.168.4.101 port 10003
session transport udp
priority 3
entity 40004 voip
match-template 2000$
address sip ip 10.1.1.2 port 5060
session transport global
从上述显示信息可以查看到注册池1产生40001、40002两个动态VoIP语音实体,40001是指向号码1000的动态VoIP语音实体,40002是指向远端服务器(即Alone server)的动态VoIP语音实体。同理,注册池2生成40003、40004两个动态VoIP语音实体。
(2) 两台IP电话向Alone server发起注册,使用display voice register entity命令显示SIP UA在Alone server上的注册结果,使用display voice register pool all brief命令显示注册池产生的动态VoIP语音实体信息。
[Alone] display voice register pool all brief
Pool ID IP Address Ln DN Number State
----------------------------------------------------------------------------------------
1 192.168.4.100 192.168.4.100 1 1 1000$ Registered
2 192.168.4.101 192.168.4.101 1 2000$ Registered
[Alone] display voice register entity all
Entities created dynamically on register pool 1:
entity 40001 voip
match-template 1000$
address sip ip 192.168.4.100 port 10002
session transport udp
priority 1
Entities created dynamically on register pool 2:
entity 40002 voip
match-template 2000$
address sip ip 192.168.4.101 port 10003
session transport udp
priority 3
从上述显示信息可以查看到注册池1只产生一个指向号码1000的动态VoIP语音实体。同理,注册池2也只产生一个动态VoIP语音实体。
在语音组网中,有一台本地存活模式语音服务器和两台独立模式语音服务器,其中本地存活模式语音服务器作为本地语音服务器,独立模式语音服务器作为远端语音服务器,IP话机A和IP话机B接受远端服务器的呼叫管理。为了保证在远端服务器出现故障时,IP话机A和IP话机B仍然能够可以通话,需要完成以下配置:
· 使IP电话注册到本地语音服务器上。
· 在本地存活模式语音服务器上开启保活探测功能。
图1-7 语音服务器保活探测组网图
完成“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤,此处不再重复。
# 在注册池1中配置远端语音服务器地址信息及开启保活探测功能。
[Alive-voice-register-pool1] proxy ip 10.1.1.2 monitor probe sip 10.1.1.3
# 在注册池1中配置保活报文的参数。
[Alive-voice-register-pool1] voice-class sip options-keepalive up-interval 100 down-interval 50 retry 3
# 在注册池2中配置远端语音服务器地址信息及开启保活探测功能。
[Alive-voice-register-pool2] proxy ip 10.1.1.2 monitor probe sip 10.1.1.3
# 在注册池2中配置保活报文的参数。
[Alive-voice-register-pool2] voice-class sip options-keepalive up-interval 100 down-interval 50 retry 3
(1) IP Phone A向Alive server发起注册后,使用display voice register pool all brief命令显示注册池产生的动态VoIP语音实体信息。
[Alive] display voice register entity all
Entities created dynamically on register pool 1:
entity 40001 voip
match-template 1000$
address sip ip 192.168.4.100 port 10002
session transport udp
priority 1
entity 40002 voip
match-template 1000$
address sip ip 10.1.1.2 port 5060: VoIP entity available
session transport global
Entities created dynamically on register pool 2:
entity 40003 voip
match-template 2000$
address sip ip 192.168.4.101 port 10003
session transport udp
priority 3
entity 40004 voip
match-template 2000$
address sip ip 10.1.1.2 port 5060: VoIP entity available
session transport global
从上述显示信息可以查看到动态VoIP语音实体会继承注册池1和注册池2下的配置,也能看到保活探测的结果。
(2) Alive server会向Alone server发送OPTIONS探测报文,在Alive server上打开SIP的debug命令,输出如下调试信息
<Alive> debugging voice sip all
Stack--->NetWork:
OPTIONS sip:10.1.1.3 SIP/2.0
Via: SIP/2.0/UDP 10.1.1.1:5060;branch=z9hG4bK3ca763b3acb
Call-ID: e3024bc4c3f98d14fbd2df2d04f66672@10.1.1.3
From: <sip:10.1.1.1>;tag=7fb8d414
To: <sip:10.1.1.3>
CSeq: 1 OPTIONS
Contact: <sip:10.1.1.1:5060>
Accept: application/sdp
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,REFER
Date: Wed, 26 Feb 2014 03:42:26 GMT
Max-Forwards: 70
Supported: timer
Content-Length: 0
*Feb 26 03:42:26:905 2014 Sysname SIP/7/SIPDBG:
SIP EVENT: The status code is 200.
*Feb 26 03:42:26:905 2014 Sysname SIP/7/SIPDBG:
SIP EVENT: SrcAddr: 10.1.1.1, SrcPort: 5060, DestAddr: 10.1.1.3, DestPort: 5060, Protocol: UDP
*Feb 26 03:42:26:905 2014 Sysname SIP/7/SIPDBG:
NetWork --->Stack:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.1.1.3:5060;branch=z9hG4bK3ca763b3acb
Call-ID: e3024bc4c3f98d14fbd2df2d04f66672@10.1.1.3
From: <sip:10.1.1.1>;tag=7fb8d414
To: <sip:10.1.1.3>;tag=58f6d414
CSeq: 1 OPTIONS
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,REFER
Date: Wed, 26 Feb 2014 03:42:26 GMT
Accept: application/sdp
Accept: application/dtmf-relay
Accept: application/simple-message-summary
Accept: message/sipfrag
Allow-Events: refer,message-summary
Supported: timer,100rel
Content-Length: 0
在语音组网中,有两台本地存活模式语音服务器和一台独立模式语音服务器,其中本地存活模式语音服务器作为本地语音服务器,独立模式语音服务器作为远端语音服务器,各IP话机接受远端服务器的呼叫管理。要求在远端服务器出现故障时,各IP话机间能够通过备份的PSTN网络完成呼叫。
图1-8 PSTN备份功能组网图
(1) 按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成三台语音服务器的配置,要求IP Phone A和IP Phone B在Alive server A和Alone server上完成注册。IP Phone C和IP Phone D在Alive server B和Alone server上完成注册。
(2) 配置POTS语音实体,用于呼叫备份。
# 在Alive server A上配置POTS语音实体,用于PSTN呼叫备份,该语音实体的优先级要低于Alive server指向远端语音服务器的动态VoIP语音实体。
[AliveA] voice-setup
[AliveA-voice] dial-program
[AliveA-voice-dial] entity 2 pots
[AliveA-voice-dial-entity2] line 2/1/1
[AliveA-voice-dial-entity2] match-template 2....
[AliveA-voice-dial-entity2] priority 5
# 在Alive server B上配置POTS语音实体,用于PSTN呼叫备份,该语音实体的优先级要低于Alive server指向远端语音服务器的动态VoIP语音实体。
[AliveB] voice-setup
[AliveB-voice] dial-program
[AliverB-voice-dial] entity 1 pots
[AliveB-voice-dial-entity1] line 2/1/1
[AliveB-voice-dial-entity1] match-template 1....
[AliveB-voice-dial-entity1] priority 5
Alone server发生故障,IP Phone A呼叫IP Phone C,可以正常通话。
在语音组网中,有两台本地存活模式语音服务器和一台独立模式语音服务器,其中本地存活模式语音服务器作为本地语音服务器,独立模式语音服务器作为远端语音服务器,各IP话机接受远端服务器的呼叫管理。所有呼叫都通过远端独立模式语音服务器管理,具体要求如下。
· 实现分支机构内部的语音呼叫,例如IP Phone A可以呼叫IP Phone B。
· 实现分支机构间的语音呼叫,例如IP Phone A可以呼叫IP Phone C。
· 要求在远端服务器出现故障时,各IP话机间能够通过备份的PSTN网络进行呼叫。
图1-9 语音服务器基本呼叫组网图
(1) 按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成三台语音服务器的配置,要求IP Phone A和IP Phone B在Alive server A和Alone server上完成注册。IP Phone C和IP Phone D在Alive server B和Alone server上完成注册。
(2) 在Alone server、Alive server A和Alive server B上使用allow-connections sip to sip命令配置允许SIP到SIP的VoIP呼叫连接。
(3) 配置Alone server
# 为了实现分支机构内部的语音呼叫,且该呼叫要通过本地语音服务器。例如IP Phone A呼叫IP Phone B,IP Phone A发出的呼叫要通过Alive server A到达Alone server,那么在Alone server上需要配置VoIP语音入实体,用于认证Alive server A的身份。
<Alone> system-view
[Alone] voice-setup
[Alone-voice] dial-program
[Alone-voice-dial] entity 10 voip
[Alone-voice-dial-entity10] address sip ip 1.1.1.1
[Alone-voice-dial-entity10] match-template 1.T
[Alone-voice-dial-entity10] quit
[Alone-voice-dial] entity 11 voip
[Alone-voice-dial-entity11] address sip ip 1.1.1.2
[Alone-voice-dial-entity11] match-template 2.T
(4) 配置Alive server A
# 为了实现分支机构间的语音呼叫,且该呼叫要通过本地语音服务器。例如IP Phone A呼叫IP Phone C,IP Phone A发出的呼叫要通过Alive server A。在Alive server A上配置VoIP语音实体,呼叫目的IP地址为1.1.1.3,被叫号码模板为.T。
<AliveA> system-view
[AliveA] voice-setup
[AliveA-voice] dial-program
[AliveA-voice-dial] entity 10 voip
[AliveA-voice-dial-entity10] address sip ip 1.1.1.3
[AliveA-voice-dial-entity10] match-template .T
# 开启保活功能,实现在远端服务器出现故障时,各IP话机间能够通过备份的PSTN网络进行呼叫。
[AliveA-voice-dial-entity10] voice-class sip options-keepalive
[AliveA-voice-dial-entity10] quit
(5) 配置Alive server B
# 为了实现分支机构间的语音呼叫,且该呼叫要通过本地语音服务器。例如IP Phone C呼叫IP Phone A,IP Phone C发出的呼叫要通过Alive server B。在Alive server B上配置VoIP语音实体,呼叫目的IP地址为1.1.1.3,被叫号码模板为.T。
<AliveB> system-view
[AliveB] voice-setup
[AliveB-voice] dial-program
[AliveB-voice-dial] entity 11 voip
[AliveB-voice-dial-entity11] address sip ip 1.1.1.3
[AliveB-voice-dial-entity11] match-template .T
# 开启保活功能,实现在远端服务器出现故障时,各IP话机间能够通过备份的PSTN网络进行呼叫。
[AliveB-voice-dial-entity11] voice-class sip options-keepalive
(6) 配置PSTN呼叫备份
按照“1.10.3 PSTN备份功能配置举例”中的配置步骤完成PSTN呼叫备份。
(1) 实现分支机构内部的语音呼叫,例如IP Phone A呼叫IP Phone B:
· 假设IP Phone A呼叫IP Phone B,在IP Phone A上配置呼叫目的地为Alive server A,Alive server A会通过IP Phone A注册成功后产生的指向Alone server的动态VoIP语音实体将呼叫转发给Alone server,因此在Alone server上需要配置VoIP语音入实体10,用于认证Alive server A的身份。IP Phone B在向Alone server注册后,在Alone server上会生成指向IP Phone B的动态VoIP语音实体,所以IP Phone A呼叫IP Phone B的呼叫是可以通过Alone server来管理。在配置中需要特别注意的是,在Alive server A上为IP Phone A和IP Phone B配置的注册池中,指向Alone server的动态VoIP语音实体优先级要比指向本地SIP UA的优先级要高,这样才能确保Alive server A能把呼叫转给Alone server,而不是Alive server A直接呼叫IP Phone B。
· 假设IP Phone A呼叫IP Phone B,在IP Phone A上配置呼叫直接通过Alone server。因为在Alone server上存在指向IP Phone A和IP Phone B的动态VoIP语音实体,所以IP Phone A呼叫IP Phone B的呼叫是通过Alone server来管理。
(2) 实现分支机构间的语音呼叫,例如IP Phone A呼叫IP Phone C:
· 假设IP Phone A呼叫IP Phone C,在IP Phone A上配置呼叫需要通过Alive server A。因为在Alive server A上存在VoIP语音实体10,所以Alive server A可以将呼叫转给Alone server。IP Phone B在向Alone server注册时,在Alone server上存在指向IP Phone C的动态VoIP语音实体,所以IP Phone A呼叫IP Phone C的呼叫是可以通过Alone server来管理。
· 假设IP Phone A呼叫IP Phone C,在IP Phone A上配置呼叫直接通过Alone server。因为在Alone server上存在指向IP Phone A和IP Phone C的动态VoIP语音实体,所以IP Phone A呼叫IP Phone C的呼叫是通过Alone server来管理。
(3) 要求在远端服务器出现故障时,各IP话机间能够通过备份的PSTN网络进行呼叫Alone server发生故障,IP Phone A呼叫IP Phone C,可以正常通话。
某企业在总部部署呼叫管理服务器,在两个分支机构部署本地语音服务器,要求MOH资源由本地语音服务器提供。
图1-10 语音服务器提供MOH资源组网图
(1) 按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成两台语音服务器的配置,要求IP Phone A在Alive server A上完成注册。IP Phone B在Alive server B上完成注册。
(2) 将媒体文件g711u1.wav存放到Alive server A的存储介质上。
(3) 将媒体文件g711u2.wav存放到Alive server B的存储介质上。
(4) 配置企业分支部门Alive server A
# 配置允许SIP到SIP的VoIP呼叫连接。
<AliveA> system-view
[AliveA] voice-setup
[AliveA-voice] allow-connections sip to sip
# 在Alive server A上配置提供音乐保持媒体流的组播地址,并指定媒体文件。
[AliveA-voice] voice register global
[AliveA-voice-register-global] moh file g711u1.wav
[AliveA-voice-register-global] multicast moh ip 239.1.1.1 port 2008 route 1.1.1.1
(5) 配置企业分支部门Alive server B
# 配置允许SIP到SIP的VoIP呼叫连接。
<AliveB> system-view
[AliveB] voice-setup
[AliveB-voice] allow-connections sip to sip
# 在Alive server B上配置提供音乐保持媒体流的组播地址,并指定媒体文件。
[AliveB-voice] voice register global
[AliveB-voice-register-global] moh file g711u2.wav
[AliveB-voice-register-global] multicast moh ip 239.1.1.2 port 2009 route 1.1.1.2
(6) 在呼叫管理服务器上配置各分支的组播地址。
(1) IP Phone A拨打IP Phone B。通话之后IP Phone A作为呼叫保持发起方进行拍叉操作,被保持方IP Phone B进入被保持状态,此时,IP Phone B会听到g711u2.wav文件中的音乐。
(2) IP Phone A再次拍叉和IP Phone B恢复通话,IP Phone B进行拍叉操作,被保持方IP Phone A进入被保持状态,此时IP Phone A会听到g711u1.wav文件中的音乐。
IP话机A和IP话机B接受远端SIP服务器的管理,并使用消息等待指示功能订阅邮箱状态。为了保证在远端SIP服务器出现故障时,IP话机A和IP话机B仍然能够正常使用订阅功能,需要将路由器配置为工作在本地存活模式的语音服务器,并在其上开启消息等待指示功能。
图1-11 语音服务器支持MWI组网图
(1) 按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成语音服务器的配置,要求IP Phone A和IP Phone B在Alive server上完成注册。
(2) 配置订阅功能
# 开启消息等待指示功能。
<Server> system-view
[Server] voice-setup
[Server-voice] sip
[Server-voice-sip] mwi-server ip 10.1.1.2
[Server-voice-sip] quit
[Server-voice] voice register dn 1
[Server-voice-register-dn1] mwi
[Server-voice-register-dn1] quit
[Server-voice] voice register dn 2
[Server-voice-register-dn2] mwi
[Server-voice-register-dn2] return
(1) 在Alive server上查看号码的订阅状态。
<Server> display voice sip subscribe-state
Number Server Address Expires Status
--------------------------------------------------------------------------
1000 10.1.1.1:5060 2285 Online
2000 10.1.1.1:5060 2326 Online
从上面的显示信息中可以看到,IP话机A和IP话机B均已成功订阅。
(2) 在Alive server上查看IP话机1和IP话机2的留言信息。
<Server> display voice mwi all
Message Waiting Indication Information:
---------------------------------------------------------------------
MWI type: Solicited
MWI server: 10.1.1.2 port: 5060
MWI expires: 3600
---------------------------------------------------------------------
Number: 1000
Messages-Waiting: Yes
Voicemail: 3/0 (0/0)
Total: 3(0)
---------------------------------------------------------------------
Number: 2000
Messages-Waiting: No
Total: 0(0)
在如下图所示的组网中,要求IP Phone C为IP Phone A进行呼叫代答。
图1-12 语音服务器支持呼叫代答组网图
按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成语音服务器的配置,要求IP Phone A、IP Phone B和IP Phone C在Alone server上完成注册。
(1) 配置代答方式一:直接代答
默认支持,无需额外配置。
(2) 配置代答方式二:组内代答
# 配置IP Phone A和IP Phone C属于同一个呼叫代答组。
<Server> system-view
[Server] voice-setup
[Server-voice] voice register dn 1
[Server-voice-register-dn1] pickup-group 1
[Server-voice-register-dn1] number 1000$
[Server-voice-register-dn1] quit
[Server-voice] voice register dn 3
[Server-voice-register-dn3] pickup-group 1
[Server-voice-register-dn3] number 3000$
(3) 配置代答方式三:组间代答
# 配置IP Phone A的代答组号。
<Server> system-view
[Server] voice-setup
[Server-voice] voice register dn 1
[Server-voice-register-dn1] number 1000$
[Server-voice-register-dn1] pickup-group 1
(1) 直接代答
话机2000拨打话机1000,话机1000振铃后,话机3000通过按“GPickUp 1000”为话机1000代答呼叫,话机3000与话机2000建立通话。
(2) 组内代答
话机2000拨打话机1000,话机1000振铃后,话机3000通过按“PickUp”或者按“GPickUp”加“*”为话机1000代答,话机3000与话机2000建立通话。
(3) 组间代答
话机2000拨打话机1000,话机1000振铃后,话机3000通过按“GPickUp 1”为话机1000代答,话机3000与话机2000建立通话。
在如下图所示的组网中,Router A是语音网关,将另外一台路由器配置为工作在独立模式的语音服务器,Telephone A和IP话机向语音服务器发起注册。要求为Telephone A上开启DND功能。
图1-13 语音服务器支持DND组网图
(1) 配置Alone server
# 配置允许SIP到SIP的VoIP呼叫连接。
<Server> system-view
[Server] voice-setup
[Server-voice] allow-connections sip to sip
# 配置Alone server工作在独立模式。
[Server-voice] voice register global
[Server-voice-register-global] mode alone
[Server-voice-register-global] quit
# 开启Alone server接受注册。
[Server-voice] sip
[Server-voice-sip] registrar server
[Server-voice-sip] quit
# 为Telephone A配置注册池1,并开启DND功能。
[Server-voice] voice register pool 1
[Server-voice-register-pool1] number 1 1000$
[Server-voice-register-pool1] id ip 1.1.1.1
[Server-voice-register-pool1] dnd
[Server-voice-register-pool1] quit
# 为IP话机配置注册池2。
[Server-voice] voice register pool 2
[Server-voice-register-pool2] number 1 2000$
[Server-voice-register-pool2] id ip 1.1.1.2
[Server-voice-register-pool2] quit
(2) 配置Router A
# 配置注册服务器信息。
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] sip
[RouterA-voice-sip] registrar 1 ip 1.1.1.3
[RouterA-voice-sip] quit
# 配置POTS语音实体中的本地号码为1000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 1 pots
[RouterA-voice-dial-entity1] line 2/1/1
[RouterA-voice-dial-entity1] match-template 1000$
(1) Telephone A和IP话机在语音服务器上成功注册后,在语音服务器上执行display voice register entity all命令可以查看到指向Router A的动态VoIP语音实体下存在dnd配置,指向IP话机的动态VoIP语音实体下不存在dnd配置。
(2) IP话机2000拨打1000,听到忙音。
(3) Telephone A拨打2000,呼叫成功。
在如下图所示的组网中,Router A是语音网关,将另外一台路由器配置为工作在独立模式的语音服务器,IP Phone A、B、C、E四部电话都向语音服务器发起注册。要求:
· 为IP Phone B配置无条件呼叫前转配置,将拨打给IP Phone B的呼叫前转给Telephone C。
· 在Telephone D向语音服务器注册失败的情况下,将拨打给Telephone D的呼叫前转给IP Phone E。
图1-14 语音服务器支持呼叫前转组网图
(1) 配置Alone server
# 配置允许SIP到SIP的VoIP呼叫连接。
<Server> system-view
[Server] voice-setup
[Server-voice] allow-connections sip to sip
# 配置Alone server工作在独立模式。
[Server-voice] voice register global
[Server-voice-register-global] mode alone
[Server-voice-register-global] quit
# 开启Alone server接受注册。
[Server-voice] sip
[Server-voice-sip] registrar server
[Server-voice-sip] quit
# 为Telephone A配置注册池1。
[Server-voice] voice register pool 1
[Server-voice-register-pool1] number 1 1000$
[Server-voice-register-pool1] id ip 1.1.1.1
[Server-voice-register-pool1] quit
# 为IP Phone B配置注册池2,并配置无条件呼叫前转功能,当有电话呼叫号码2000时,该路呼叫会被前转到目的号码3000上。
[Server-voice] voice register pool 2
[Server-voice-register-pool2] number 1 2000$
[Server-voice-register-pool2] id ip 1.1.1.2
[Server-voice-register-pool2] call-forward b2bua all 3000
[Server-voice-register-pool2] quit
# 为Telephone C配置注册池3。
[Server-voice] voice register pool 3
[Server-voice-register-pool3] number 1 3000$
[Server-voice-register-pool3] id ip 1.1.1.4
[Server-voice-register-pool3] quit
# 为Telephone E配置注册池4。
[Server-voice] voice register pool 4
[Server-voice-register-pool4] number 1 5000$
[Server-voice-register-pool4] id ip 1.1.1.5
[Server-voice-register-pool4] quit
# 为Telephone D配置DN,并配置未注册呼叫前转功能,当有电话呼叫号码4000时,如果号码4000没有注册到语音服务器上,该路呼叫会被前转到目的号码5000的IP Phone E上。
[Server-voice] voice register dn 1
[Server-voice-register-dn1] number 4000$
[Server-voice-register-dn1] call-forward b2bua unregistered 5000
(2) 配置Router A
# 配置注册服务器信息。
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] sip
[RouterA-voice-sip] registrar 1 ip 1.1.1.3
[RouterA-voice-sip] quit
# 配置POTS语音实体中的本地号码为1000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 1 pots
[RouterA-voice-dial-entity1] line 2/1/1
[RouterA-voice-dial-entity1] match-template 1000$
(3) 配置Router C
# 配置注册服务器信息。
<RouterC> system-view
[RouterC] voice-setup
[RouterC-voice] sip
[RouterC-voice-sip] registrar 1 ip 1.1.1.3
[RouterC-voice-sip] quit
# 配置POTS语音实体中的本地号码为3000,并将FXS语音用户线line2/1/2绑定到此POTS语音实体上。
[RouterC-voice] dial-program
[RouterC-voice-dial] entity 1 pots
[RouterC-voice-dial-entity1] line 2/1/2
[RouterC-voice-dial-entity1] match-template 3000$
[RouterC-voice-dial-entity1] quit
# 配置POTS语音实体中的本地号码为4000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上,配置号码4000不向注册服务器发起注册。
[RouterC-voice-dial] entity 2 pots
[RouterC-voice-dial-entity2] line 2/1/1
[RouterC-voice-dial-entity2] match-template 4000$
[RouterC-voice-dial-entity2] undo register-number
(1) Telephone A拨打IP Phone B号码2000,该路呼叫被前转到Telephone C上。
(2) Telephone D没有注册到注册服务器上。Telephone A拨打Telephone D号码4000,该路呼叫被前转到目的号码5000的IP Phone E上。
在如下图所示语音组网中要求在星期日对号码2000进行呼叫阻塞。
图1-15 语音服务器支持呼叫阻塞组网图
(1) 按照“1.10.1 语音服务器接受SIP UA注册配置举例”中的配置步骤完成语音服务器的配置,要求IP Phone A、IP Phone B和IP Phone C在Alone server上完成注册。
(2) 配置呼叫阻塞功能
# 配置对被叫号码模板1000和2000开启呼叫阻塞功能,呼叫阻塞时间为星期日全天。
<Server> system-view
[Server] voice-setup
[Server-voice] after-hours block pattern 1 1000
[Server-voice] after-hours block pattern 2 2000
[Server-voice] after-hours day Sun 00:00 23:59
# 配置对号码1000免除呼叫阻塞。
[Server-voice] voice register dn 1
[Server-voice-register-dn1] after-hours exempt
[Server-voice-register-dn1] number 1000$
# 配置将DN应用到注册池下(此步略)。
(1) 在星期日,使用IP Phone C呼叫IP Phone B,呼叫失败。
(2) 在星期日,使用IP Phone C呼叫IP Phone A,呼叫成功。
Router A是语音网关,要求Telephone A使用FAC功能设置呼叫前转。
图1-16 FAC配置组网图
(1) 方式一:配置使用标准FAC方式
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] fac standard
完成配置后,Telephone A可以进行以下操作配置或取消呼叫前转。使用标准FAC时,拨号结束符必须为#,或等待拨号超时后,FAC才能生效。
· Telephone A拨号*57*2000#后,Telephone A对应的POTS语音实体下会生成无条件呼叫前转配置,前转号码为2000;或者Telephone A拨号*57*2000后,设备等待拨号超时后,也会产生同样的无条件前转配置。Telephone A会听到三声滴滴提示音,表示业务登记成功。
· Telephone A拨号#57#后,Telephone A对应的POTS语音实体下如果存在无条件前转配置,该配置会被取消。Telephone A会听到三声滴滴提示音,表示业务登记成功。
· 在RouterA设备上执行命令display voice fac可以查看到标准的呼叫前转FAC。
(2) 方式二:配置使用自定义FAC方式
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] fac custom callfwd busy 123
[RouterA-voice] fac custom callfwd busy-cancel 456
[RouterA-voice] fac terminator 7
完成配置后,Telephone A可以进行以下操作配置或取消呼叫前转。使用自定义FAC时,缺省的拨号结束符为#(可通过命令fac terminator修改),或等待拨号超时后,FAC才能生效。
· Telephone A拨号12320007后,Telephone A对应的POTS语音实体下会生成遇忙呼叫前转配置,前转号码为2000;或者Telephone A拨号1232000后,设备等待拨号超时后,也会产生同样的遇忙前转配置。Telephone A听到三声滴滴提示音,表示业务登记成功。
· Telephone A拨号456后,Telephone A对应的POTS语音实体下如果存在遇忙呼叫前转配置,该配置会被取消。Telephone A听到三声滴滴提示音,表示业务登记成功。需要注意的是:此时不需要拨入拨号结束符7。
· 在Router A上执行命令display voice fac可以查看到自定义的呼叫前转FAC。
在如下图所示的组网中,有语音网关Router A、Router B和一台工作在独立模式的语音服务器,三部电话都已在语音服务器上完成注册。要求:配置标准FAC,Telephone A通过拨号,在动态VoIP语音实体下增加呼叫前转配置。
图1-17 FAC配置组网图
· 配置Alone server
# 配置工作在独立模式的本地语音服务器,并开启接受注册功能。
<Server> system-view
[Server] voice-setup
[Server-voice] allow-connections sip to sip
[Server-voice] voice register global
[Server-voice-register-global] mode alone
[Server-voice-register-global] quit
[Server-voice] sip
[Server-voice-sip] registrar server
[Server-voice-sip] quit
# 配置使用标准FAC方式。
[Server-voice] fac standard
# 为Telephone A配置注册池1。
[Server-voice] voice register pool 1
[Server-voice-register-pool1] number 1 1000$
[Server-voice-register-pool1] id ip 1.1.1.1
[Server-voice-register-pool1] quit
# 为IP Phone B配置注册池2。
[Server-voice] voice register pool 2
[Server-voice-register-pool2] number 1 2000$
[Server-voice-register-pool2] id ip 1.1.1.2
[Server-voice-register-pool2] quit
# 为Telephone C配置注册池3。
[Server-voice] voice register pool 3
[Server-voice-register-pool3] number 1 3000$
[Server-voice-register-pool3] id ip 1.1.1.4
[Server-voice-register-pool3] quit
· 配置Router A
# 配置注册服务器信息。
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] sip
[RouterA-voice-sip] registrar 1 ip 1.1.1.3
[RouterA-voice-sip] quit
# 配置POTS语音实体中的本地号码为1000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 1 pots
[RouterA-voice-dial-entity1] line 2/1/1
[RouterA-voice-dial-entity1] match-template 1000$
[RouterA-voice-dial-entity1] quit
# 配置VoIP语音实体,呼叫目的IP地址为1.1.1.3,被叫号码模板为*40*1234。
[RouterA-voice-dial] entity 2 voip
[RouterA-voice-dial-entity2] match-template *40*1234
[RouterA-voice-dial-entity2] address sip ip 1.1.1.3
Telephone A拨号*40*1234,Alone server收到被叫号码为*40*1234的报文后,匹配标准遇忙呼叫前转FAC*40*成功,前转号码为1234,该配置会同步至指向Telephone A的动态VoIP语音实体下。Telephone A会听到匹配特征码成功的三声滴滴提示音,表示遇忙前转业务登记成功。
在如下图所示的组网中,有语音网关Router A、Router B和一台工作在独立模式的语音服务器,三部电话都已在语音服务器上完成注册。要求:配置标准FAC,如果有电话呼叫Telephone C,IP Phone B为Telephone C直接呼叫代答。
图1-18 FAC配置组网图
· 配置Alone server
# 配置工作在独立模式的本地语音服务器,并开启接受注册功能。
<Server> system-view
[Server] voice-setup
[Server-voice] allow-connections sip to sip
[Server-voice] voice register global
[Server-voice-register-global] mode alone
[Server-voice-register-global] quit
[Server-voice] sip
[Server-voice-sip] registrar server
[Server-voice-sip] quit
# 配置使用标准FAC方式。
[Server-voice] fac standard
# 为Telephone A配置注册池1。
[Server-voice] voice register pool 1
[Server-voice-register-pool1] number 1 1000$
[Server-voice-register-pool1] id ip 1.1.1.1
[Server-voice-register-pool1] quit
# 为IP Phone B配置注册池2。
[Server-voice] voice register pool 2
[Server-voice-register-pool2] number 1 2000$
[Server-voice-register-pool2] id ip 1.1.1.2
[Server-voice-register-pool2] quit
# 为Telephone C配置注册池3。
[Server-voice] voice register pool 3
[Server-voice-register-pool3] number 1 3000$
[Server-voice-register-pool3] id ip 1.1.1.4
[Server-voice-register-pool3] quit
· 配置Router A
# 配置注册服务器信息。
<RouterA> system-view
[RouterA] voice-setup
[RouterA-voice] sip
[RouterA-voice-sip] registrar 1 ip 1.1.1.3
[RouterA-voice-sip] quit
# 配置POTS语音实体中的本地号码为1000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 1 pots
[RouterA-voice-dial-entity1] line 2/1/1
[RouterA-voice-dial-entity1] match-template 1000$
[RouterA-voice-dial-entity1] quit
# 配置VoIP语音实体,呼叫目的IP地址为1.1.1.3,被叫号码模板为3000。
[RouterA-voice-dial] entity 2 voip
[RouterA-voice-dial-entity2] match-template 3000$
[RouterA-voice-dial-entity2] address sip ip ip 1.1.1.3
· 配置Router B
# 配置注册服务器信息。
<RouterB> system-view
[RouterB] voice-setup
[RouterB-voice] sip
[RouterB-voice-sip] registrar 1 ip 1.1.1.3
[RouterB-voice-sip] quit
# 配置POTS语音实体中的本地号码为3000,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 1 pots
[RouterB-voice-dial-entity1] line 2/1/1
[RouterB-voice-dial-entity1] match-template 3000$
[RouterB-voice-dial-entity1] quit
Telephone A拨号3000,Router B上的Telephone C振铃,IP Phone B拨号*80*3000后,为Telephone C进行呼叫代答,Telephone A和IP Phone B建立呼叫,Telephone C停止振铃,IP Phone B完成直接呼叫代答。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!