理解并正确配置VCX MWI功能
一、 组网:
典型的VCX双机冗余配置组网,即两台VCX All-In-One,VCX版本不限。
VCX侧phone profile创建时,Create Mailbox项缺省为选中,即创建话机分机号时, IPM自动也创建对应分机号的Mailbox。
二、 问题描述:
问题来源于CMS问题单20090313-1-2-3552-0661580(fax to IPM not working),提供补丁后,3Com反馈MWI一直失效,后经过分析定位,确定问题并非补丁引入问题,在正确配置下可以实现MWI功能。
三、 过程分析:
3.1 背景知识介绍:
3.1.1 MWI功能简介:
MWI(Message Waiting Indication,新留言提示)指当用户VoiceMail(或所属HuntGroup对应VM)状态发生,如有新留言,IPM会通过话机,话机上MWI指示灯会亮以提醒用户有新留言。该功能遵从RFC3265 Subscribe/Notify机制实现。
3.1.2 MWI在VCX系统的实现流程:
基本流程:话机注册时(手工Logout/Login或后台周期性发Register报文维持Keepalive),CallP会视该Register报文为隐性Subscribe,查本地路由信息(匹配Voice Mail Number的Pattern,对应Endpoint指向IPM)后立即发送(后续在注册有效期内周期性发送)Subscribe(订阅)报文给IPM订阅该用户VoiceMail状态信息,IPM会维护用户的订阅状态,并实时发Notify报文通知该状态信息。
关键点一:IPM保存用户订阅信息的表vnft_sub。该表是在收到CallP发过来的用户的Subscribe报文而生成并维护的,IPM的IM(智能镜像)不负责这个表在主备IPM之间的同步。
目前的设计是,正确配置CallP到主备IPM的路由,使得CallP会把用户的Subscribe报文同时发送到主备IPM,这样主备IPM才会都有用户的订阅信息。另外,重启服务器对该表内容无影响,数据存入数据库中。
关键点二:IPM 负责发送Notify的控制脚本vnfb_noti的实现问题。脚本vnfb_noti代码里如此设计:只有当前IPM处于active状态才执行Notify的操作;如果为standby状态,则不会执行Notify的操作,而是在一个for循环中循环。
理由很简单:正常情况下CallP同时配置路由到IPM主备,IPM主备都将收到Subscribe,如果vnfb_noti脚本不依据当前IPM状态发Notify, CallP势必每次会收到两份Notify。而CallP很难抉择给话机只转发一份Notify。
关键点三:IPM主备切换问题。主备IPM IM(Intelligent Mirroring智能镜像)有两种策略:
一种是primary policy,即主IPM可用时永远为active,即使因故暂时处于standby状态,5分钟后将自动变为active;
另外一种就是balanced policy,即不论IPM主备角色,只要其当前状态为active,则该active状态一直保持到其不可用为止。
关键点四:IPM什么时候会被触发发送Notify报文。
两种情况下,IPM会被触发发送Notify报文。一种是邮箱状态发生了改变,即邮箱有了新留言或邮箱留言被删除;一种情况就是IPM收到Subscribe报文后,立即发送一个Notify,说明目前邮箱的状态信息。
另外提一句,并不是说IPM发送了Notify,话机的MWI灯就会亮,如果IPM发送的Notify报文携带的信息是该邮箱无新邮件,话机的MWI灯当然不会亮。
3.2 案例详细分析:
1)查看IPM主备的运行状态:使用AppMon发现当前主IPM状态一直为standby,而备IPM为active。
2)查看IPM IM策略:配置文件config.app位于 /usr/app/app.dir /目录下,打开后发现IM_policy=Balanced。这也说明了为什么主IPM状态一直为standby,且可以推断客户只在主IPM打了补丁,导致主IPM服务重启,其状态由active变为standby并一直保持着。
3)查看CallP上到IPM的路由配置:备IPM为active状态,那为什么MWI不工作了,原因只有一个,就是备IPM上表vnft_sub没有用户的订阅信息,为什么没有订阅信息了。查看路由发现,匹配Voice Mail Number的Pattern,对应Endpoint只有主IPM一个!
四、 解决方法:
通过以上分析,解决方案就变得非常简单:
配置CallP到IPM的路由增加备IPM为次Endpoint,最好同时让主IPM成为active状态(为什么呢?读者可自行结合上述背景知识介绍好好想一想)。
让主IPM成为active的方法非常多,本案例中最合适的方法当然就是在备IPM也安装补丁,自动让备IPM重启服务。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作