具体实施方式
如图3所示,为本发明实施例提供的呼叫切换方法实施例一示意图;本实施例的源BSC为BSC1,本实施例的目标BSC为BSC2,BSC1和BSC2属于同一MSC。具体步骤包括:
步骤111、发送携带有TDM类型端点信息及该TDM类型对应的编码信息,和IP类型端点信息及该IP类型对应的编码信息的增加端点请求消息给MGW,优选的,所述编码信息也可以包括呼叫推荐的编码信息;
步骤113、当接收到指示MGW成功建立TDM端点和IP端点的增加端点响应消息时,发送携带有电路识别码信元和IP端点信息的切换请求消息至目标基站控制器;
步骤115、接收目标BSC返回的携带TDM类型端点信息或IP类型端点信息的切换请求确认消息。
本发明实施例的呼叫切换方法和装置,通过在发送给目标BSC的切换请求消息中携带CIC值和IP端点信息,使得当目标BSC选择TDM类型的端点时,可以直接使用MSC分配的CIC值,从而避免了目标BSC和MGW侧各自独立分配的TDM端点不匹配而导致呼叫失败的情况,提高了呼叫成功率,同时通过分别创建TDM端点和IP端点的方式,节省了资源开销,提高了切换的速度。
如图4所示,为本发明实施例提供的呼叫切换方法实施例二示意图;本实施例以目标BSC选择了TDM端口方式为例;本实施例的源BSC为BSC1,本实施例的目标BSC为BSC2,BSC1和BSC2属于同一MSC。具体步骤包括:
步骤211、BSC1发送切换申请(Handover Required)消息给MSC Server;
该切换申请消息中携带用户MS和BSC1当前使用的语音编码RanC1(RanCodec,接入网语音编码);
步骤213、MSC Server收到该切换申请消息后,向MGW发送增加端点请求消息(ADD.Req),该消息中携带推荐的语音编码信息(preferred RanC,简称pRanC),同时携带端点信息,例如,端点信息可以包括需要MGW创建的端点类型,即TDM端点和IP端点;
用户MS在BSC1下使用AoIP接口进行正常的语音业务,BSC1和BSC2都属于同一MSC。当MS要由BSC1切换进入BSC2,由于此时MSC Server并不知道BSC2当前(动态)的语音编码的支持能力和相关的A接口类型,因此,为保证快速并成功切换,切入BSC2之前,在MGW上需要先为BSC2创建与BSC2配对的IP端点和TDM端点。
步骤215、MGW根据接收到的增加端点请求消息创建与BSC2配对的TDM端点和IP端点,并返回增加端点响应消息(ADD.Reply),该消息中携带创建的端点类型,本实施例为TDM端点和IP端点;
步骤217、MSC Server接收到增加端点响应消息,发送切换请求消息(Handover Request)给BSC2;
该切换请求消息中携带MSC-PCL1(语音编码按推荐的次序排列,其中更新的pRanC为最优推荐的语音编码)、TDM端点和IP端点等信息,其中TDM端点信息可以包含CIC信元,该CIC信元的值可以为MGW创建的TDM端点对应的CIC1值;
步骤219、BSC2接收到切换请求消息,接受CIC1值,从MSC-PCL1中选择语音编码RanC2,将RanC2、CIC1值和BSC2当前支持的语音编码列表携带在切换请求确认消息中返回给MSC Server;
MSC Server根据该消息中携带的CIC信元可以得知BSC2选择了TDM传输方式的A接口,因此BSC2选择的端点类型与MGW上已创建的TDM端点类型一致,因为MGW上已创建TDM端点;该消息中携带CIC信元的值为CIC1,即CIC信元的值与切换请求消息中的CIC信元的值一样。当核心网分配了与BSC2配对的TDM端点资源,则本实施例中,MSC Server在发给BSC2的切换请求消息中就必须携带CIC信元并明确指示CIC的值。
步骤221、MSC Server接收到切换请求确认消息,判断出BSC2选择了TDM传输方式,发送携带有BSC2选择的RanC2编码类型的关于TDM端点的修改端点请求消息(MOD.Req)给MGW;
步骤223、MGW修改创建的TDM端点,使得该TDM端点能够使用编码类型RanC2,同时将该TDM端点激活,使得MGW和BSC2间的TDM链路建立完成,可以进行呼叫业务,然后MGW返回修改端点响应消息(MOD.Reply)给MSCServer;
步骤225、MSC Server发送携带有MGW创建的IP端点信息的删除端点请求消息(SUB.Req)给MGW;
由于BSC2最终选择了TDM传输方式,之前MGW创建的IP端点就没有保留的必要了,所以可以释放该端点。
步骤227、MGW将之前创建的IP端口删除,并返回删除端点响应消息(SUB.Reply)给MSC Server。
步骤229、MSC Server发送切换命令消息(Handover Command)给BSC1,该切换命令消息中携带BSC2选用的编码类型RanC2;
步骤231、BSC1将该切换命令消息发送给MS。
通过切换命令消息,将RanC2通知给MS,并触发MS的切换,MS根据该切换命令消息调整切换到BSC2的分配信道上,同时修改自身的语音编码类型为RanC2,然后就可以使用RanC2了;如果RanC2和RanC1相同,则MS继续使用RanC1。
本实施例中,本实施例对步骤225-227与步骤229-231的顺序不做限制,步骤225-227可以是在步骤229-231之前也可以在步骤229-231之后执行。。
本发明实施例能够保证当目标BSC选择TDM传输方式的A接口时,目标BSC能够选用与核心网事先分配的相同的CIC值,从而保证了切换以后呼叫的正常进行,优化了呼叫切换流程。
如图5所示,为本发明实施例提供的呼叫切换方法实施例三流程图,本实施例以目标BSC选择了TDM端口方式为例,具体包括:
步骤311、BSC1发送切换申请消息给MSC Server,该切换申请消息中携带用户MS和BSC1当前使用的语音编码RanC1;
步骤313、MSC Server收到该切换申请消息后,向MGW发送增加端点请求消息;该消息中携带MSC推荐的语音编码pRanC,同时携带端点信息,例如,端点信息可以包括需要MGW创建的端点类型,本实施例为IP端点;
步骤315、MGW根据接收到的增加端点请求消息创建与BSC2配对的IP端点,并返回增加端点响应消息,该消息中携带创建的IP端点信息;
步骤317、MSC Server接收到增加端点响应消息,发送切换请求消息给BSC2;
该切换请求消息中携带MSC-PCL1(语音编码按推荐的次序排列,更新的pRanC为最优推荐的语音编码)、IP端点信息等;
步骤319、BSC2接收到切换请求消息,选择TDM类型端点,赋值为CIC1,并从MSC-PCL1中选择相应的语音编码类型RanC2,将RanC2、CIC1的值和BSC2当前支持的语音编码列表携带在切换请求确认消息中返回给MSC Server;
该消息中携带CIC1值表示BSC2选择了TDM传输方式,因此MGW上相应地需要创建TDM端点;
步骤321、MSC Server判断得出BSC2选择的TDM类型端点与MGW上已创建的IP端点类型不一致,则发送携带有BSC2上创建的TDM端点信息和RanC2的增加端点请求消息给MGW;
虽然之前MGW为BSC2创建了对应的IP端点,但是BSC2最终选择的是TDM传输方式,因此MSC Server还需要通知MGW再为BSC2建立一个对应的TDM端点;
步骤323、MGW根据增加端点消息中的语音编码类型RanC2和TDM端点信息创建与BSC2配对的TDM端点;并在创建TDM端点成功后返回增加端点响应消息给MSC Server;
步骤325、MSC Server发送切换命令消息(Handover Command)给BSC1,消息中携带语音编码类型RanC2;
步骤327、BSC1将该切换命令消息发给MS;
步骤329、MSC Server发送携带有事先创建的IP端点的信息的删除端点请求消息给MGW;
步骤331、MGW将对应的IP端点删除,并返回删除端点响应消息给MSCServer。
本实施例对步骤325-327与步骤329-331的顺序不做限制,步骤325-327可以是在步骤329-331之前也可以在步骤329-331之后执行。
由实施例二和实施例三可得,BSC2决定使用TDM传输方式的A接口时,分配CIC的方式有两种:
(1)如实施例三,MSC Server发送给BSC2的切换请求消息中不携带信道类型(Channel Type)信元和CIC信元,即核心网不先行分配TDM端点,BSC2接收到切换请求消息,决定使用TDM传输方式的A接口电路之后,在返回的切换请求确认消息中携带BSC2指派的CIC值,然后MSC Server收到该切换请求确认消息之后根据该CIC值通知MGW分配与BSC2配对的TDM端点,并释放之前创建的TP端点;
(2)如实施例二,MSC Server发送给BSC2的切换请求消息中不携带Channel Type信元,但是携带CIC信元,即核心网先行在分配了IP端点的同时也分配了TDM端点,BSC2收到切换请求消息后,接受核心网分配的CIC值,在返回的切换请求确认消息携带的CIC信元中明确使用该CIC值,即该CIC的值必须与切换请求消息中携带的CIC值一致。然后MSC Server通知MGW修改并激活MGW上的TDM端点,同时释放之前创建的IP端点。
本发明实施例能够保证当目标BSC选择TDM传输方式的A接口时,目标BSC能够选用与核心网事先分配的相同的CIC值,从而保证了切换以后呼叫的正常进行,优化了呼叫切换流程。进一步地,本发明实施例通过先创建一个端点,当该创建的端点与目标BSC选择的端点类型不一致时,再创建目标BSC选择的类型的端点并与BSC选择的端点匹配,从而解决了现有技术中先创建所有类型的端点造成的切换速度慢和资源浪费。
如图6所示,为本发明实施例提供的呼叫切换方法实施例四流程图,本实施例以目标BSC选择IP传输方式为例,本实施例的步骤411-415与实施例二的步骤211-215相同,其区别在于BSC2选择IP传输方式,如下:
步骤417、MSC Server接收到增加端点响应消息,发送切换请求消息(Handover Request)给BSC2;
该切换请求消息中携带MSC-PCL1(语音编码按推荐的次序排列,更新的pRanC为最优推荐的语音编码)、TDM端点和IP端点等信息,其中TDM端点信息可以包含CIC信元,该CIC信元的值可以为MGW创建的TDM端点对应的CIC1值;
若MGW只创建了IP端点,则本步骤中的切换请求消息中不携带CIC信元。
步骤419、BSC2接收到切换请求消息,从MSC-PCL中选择语音编码RanC2,将RanC2和BSC2创建的IP端点等信息携带在切换请求确认消息中返回给MSCServer;
该消息中携带的IP端点信息表示BSC2选择了IP传输方式的A接口,因此只要根据BSC2选择的RanC2修改并激活MGW上事先创建的IP端点并激活IP路由链路即可;
步骤421、MSC Server接收到切换请求确认消息,获知BSC2选择了IP传输方式,与已创建的IP端点类型一致,因此发送携带有BSC2的IP端点信息和RanC2的修改端点请求消息(MOD.Req)给MGW;
步骤423、MGW修改创建的IP端点,使得该IP端点能够使用编码类型RanC2,同时将该IP端点激活,使得MGW和BSC2之间IP路由链路建立,可以进行呼叫业务,然后MGW返回修改端点响应消息(MOD.Reply)给MSC Server;
步骤425、若之前MGW创建了TDM类型的端点,则MSC Server发送携带有MGW创建的TDM端点信息的删除端点请求消息(SUB.Req)给MGW;
由于BSC2选择了IP传输方式,所以之前MGW创建的TDM端点就没有保留的必要了,所以可以释放该端点。
步骤427、MGW将之前创建的TDM端点删除,并返回删除端点响应消息(SUB.Reply)给MSC Server
步骤429、MSC Server发送切换命令消息(Handover Command)给BSC1,该切换命令消息中携带BSC2选用的编码类型RanC2;
步骤431、BSC1将该切换命令消息发送给MS;
通过切换命令消息,将RanC2通知给MS,并触发MS的切换,MS根据该切换命令消息调整切换到BSC2分配的信道上,同时修改自身的语音编码类型为RanC2,然后就可以使用RanC2了;如果RanC2和RanC1相同,则MS继续使用RanC1。
本实施例的步骤417之前若MGW创建了TDM类型的端点,则步骤417中发送给BSC2的切换请求消息中仍需携带为MGW创建的TDM端点分配的CIC值,是因为此时MSC Server还不知道BSC2会选择哪种端点类型。
本实施例对步骤425-427与步骤429-431的顺序不做限制,步骤425-427可以在步骤429-431之前也可以在步骤429-431之后。
本发明实施例通过在发给目标BSC的消息中携带为MGW创建的TDM端点的CIC值,从而有效保证了当目标BSC选择TDM传输方式时,目标BSC和核心网选用相同的CIC,从而优化了呼叫切换流程。
如图7所示,为本发明实施例提供的呼叫切换方法实施例五流程图;本实施例包括:
步骤711、BSC1发送切换申请消息给MSC Server,该消息中携带有BSC1当前使用的语音编码RanC1;
步骤713、MSC Server收到该切换申请消息后,向MGW发送增加端点请求消息(ADD.Req),该消息中携带推荐的语音编码(preferred RanC,简称pRanC),同时携带端点信息,例如,端点信息可以包括需要MGW创建的端点类型,即IP端点;
步骤715、MGW根据接收到的增加端点请求消息创建与BSC2配对的IP端点,并返回增加端点响应消息(ADD.Reply),该消息中携带创建的端点信息,即IP端点信息;
步骤717、MSC Server接收到增加端点响应消息,发送切换请求消息(Handover Request)给BSC2;该切换请求消息中携带MSC Server分配的Call-ID2;
为了避免BSC1同时收到来自不同MSC Server分配的相同数值Call-ID的呼叫请求,应该把来自不同MSC Server的Call-ID加以区分。由于在一个PLMN网络中,MSC Server的数量远远少于BSC的数量,且MSC Server负责具体的呼叫业务控制,因此本实施例中的Call-ID只能由MSC Server进行分配,BSC无权分配。当某一MSC Server分配了Call-ID并建立了相应的呼叫,只要该呼叫没有切换到其他的MSC Server或者该呼叫没有被删除,则该呼叫的Call-ID始终有效,且数值不能被修改。
步骤719、BSC2接收到切换请求消息,接受Call-ID2,从MSC-PCL中选择其语音编码RanC2,将创建的IP端点信息、RanC2和Call-ID2携带在切换请求确认消息中返回给MSC Server;
步骤721、MSC Server接收到切换请求确认消息,获知BSC2选择了IP传输方式,发送携带有BSC2的IP端点信息和RanC2的修改端点请求消息(MOD.Req)给MGW;
步骤723、MGW修改创建的IP端点,使该IP端点能够使用编码类型RanC2,同时将该IP端点激活,使得MGW和BSC2之间可以进行呼叫业务,然后MGW返回修改成功响应消息(MOD.Reply)给MSC Server;
本实施例中Call-ID的表达方式有两种:
(1)为全网中的各个MSC Server分别分配一段Call-ID的取值范围
对于网络中使用了共享池(MSC in Pool)方式的配置的情况下,即BSC连接了多个MSC Server,不同的MSC Server不能保证分配不同数值的Call-ID,这时就可以采用本实施例的为全网中的各个MSC Server分别分配一段Call-ID的取值范围的方法。可以根据网络中网元的个数,例如MSCServer的个数,将Call-ID的32比特长度的取值范围分段,每个MSC Server使用一段Call-ID;也可以每个Pool中的MSC Server共享一段Call-ID的取值范围。例如MSC Server1、MSC Server2和MSC Server 3组成一个共享Pool,当MSC Server 2为一个呼叫分配了数值为3的Call-ID,MSC Server2通知MSC Server1和MSC Server 3,MSC Server1和MSC Server3就不再分配数值为3的Call-ID的呼叫;同样地当MSC Server2释放了数值为3的Call-ID的呼叫,也会通知MSC Server1和MSC Server 3,则MSC Server1和MSC Server 3可以分配数值为3的Call-ID。
(2)用“网元标识”和“网元呼叫标识”的组合来表示Call-ID“网元标识”可以采用信令点编码、唯一标识网元的IP地址、全网内部分配的网元编号等方式,“网元标识”为能在全网范围内唯一标识该网元,例如MSC Server的标识。
“网元呼叫标识”表示该网元为呼叫能够分配的编号,可以为网元内部统一分配的呼叫标识值,可以用一定范围的数值来表示具体的呼叫标识值,编号的具体分配可以由该网元来控制。网元内部不仅可以统一分配该呼叫标识值,还对分配的这些呼叫标识值进行管理、删除。
具体实施例可参见上述呼叫建立方法实施例的描述。
本发明实施例的呼叫切换方法,通过用网元标识和网元呼叫标识的组合来表示Call-ID,或事先为网元分配不同的Call-ID取值范围,从各自的Call-ID取值范围中选取Call-ID分配给呼叫,使得Call-ID的唯一性得到保证,从而保证BSC不会收到数值相同的Call-ID;提高了呼叫切换的成功率。
图8为本发明实施例提供的呼叫切换系统结构示意图,本实施例包括:增加端点请求模块1,第一切换请求模块2和切换确认模块3。其中增加端点请求模块1用于发送携带有TDM类型端点信息及所述TDM类型对应的呼叫推荐的编码信息,和IP类型端点信息及所述IP类型对应的呼叫推荐的编码信息的增加端点请求消息给媒体网关;切换请求模块2用于当接收到媒体网关成功建立TDM端点和IP端点的增加端点响应消息时,发送携带有电路识别码信元和IP端点信息的切换请求消息至目标基站控制器;切换确认模块3用于接收目标基站控制器返回的携带TDM类型端点信息或IP类型端点信息的切换请求确认消息。
本实施例还进一步包括删除模块4,用于当成功建立了TDM端点和IP端点时,根据目标基站控制器返回的切换请求确认消息中携带的TDM类型端点信息或IP类型端点信息,通知删除与切换请求确认消息中携带的端点信息指示的端点类型不同的已成功建立的端点。还可以进一步判断模块5,用于判断切换请求确认消息中携带的端点信息指示的端点类型,与增加端点响应消息携带的已建立的端点信息中指示的端点类型是否相同。
另外,本实施例还包括建立端点模块6,用于根据接收到的增加端点请求消息建立TDM端点和IP端点,并返回已成功建立所述TDM端点和IP端点的增加端点响应消息。端点类型选择模块7,用于接收切换请求消息,发送携带有选择的端点信息的切换请求确认消息。
如图9所示,为本发明实施例提供的呼叫切换装置结构示意图,本实施例包括:第二切换请求模块8,用于接收到媒体网关发送的完成建立IP端点的增加端点响应消息之后,发送携带有网元标识和网元呼叫标识组成的呼叫标识Call-ID的切换请求消息至目标基站控制器;或从为移动交换中心分配的Call-ID取值区间中选择一个没有被占用的Call-ID值,发送携带有选择的Call-ID值的切换请求消息至目标基站控制器,各移动交换中心分配到的Call-ID取值区间互不重叠。还可以包括确认接收模块9,用于接收所述目标基站控制器建立以所述Call-ID值标识的呼叫之后返回的携带有所述Call-ID值的切换请求确认消息。
如图10所示,为本发明实施例提供的呼叫建立方法流程图,本实施例包括:
步骤611、BSC1发送层3(Complete Layer3)消息给MSC Server,该消息中携带BSC-SCL1,表示BSC1当前支持的语音编码信息,也表示BSC1在A接口上支持IP类型;
步骤613、MS发送直接传输应用部分(Direct Transfer ApplicationPart,简称DTAP)消息给MSC Server,该消息中携带MS-SCL1,表示MS支持的语音编码信息;
步骤615、MSC Server接收到层3消息和DTAP消息,从BSC1和MS支持的编码信息的交集中选出最优推荐的编码,然后发送增加端点请求消息给MGW,该消息中携带最优推荐的编码,指示MGW根据该最优推荐的编码建立IP端点;
步骤617、MGW接收到增加端点请求消息,根据消息中的最优推荐的编码建立IP端点,然后返回增加端点响应消息给MSC Server;
步骤619、MSC Server发送分配请求消息(Assignment Request)给BSC1,该消息中携带MSC Server分配给BSC1的Call-ID1和MGW上已建立的IP端点信息;
为了避免BSC1同时收到来自不同MSC Server分配的相同数值Call-ID的呼叫请求,应该把来自不同MSC Server的Call-ID加以区分。由于在一个公众陆地移动电话网(Public Land Mobile Network,简称PLMN)网络中,MSC Server的数量远远少于BSC的数量,且MSC Server负责具体的呼叫业务控制,因此本实施例中的Call-ID只能由MSC Server进行分配,BSC1无权分配。当某一MSC Server分配了Call-ID并建立了相应的呼叫,只要该呼叫没有切换到其他的MSC Server或者该呼叫没有被删除,则该呼叫的Call-ID始终有效,且数值不能被修改。
步骤621、BSC1建立MS和BSC1之间的连接,发送分配完成消息(Assignment Complete)给MSC Server,该消息中携带有创建的IP端点、为IP端点选择的编码类型和Call-ID1等信息;
步骤623、MSC Server发送修改端点请求消息给MGW,该消息中携带BSC1分配的IP端点和选用的编码信息;
步骤625、MGW接收到该修改端点请求消息,修改创建的IP端点,使该IP端点能够使用修改端点请求消息中携带的编码类型,并激活IP端点,使得MGW和BSC1之间的IP链路建立完成,然后返回修改端点响应消息。
本实施例中Call-ID的表达方式有两种:
(1)为全网中的各个MSC Server分别分配一段Call-ID的取值范围
对于网络中使用了共享池(MSC in Pool)方式的配置的情况下,即BSC连接了多个MSC Server,不同的MSC Server不能保证分配不同数值的Call-ID,这时就可以采用本实施例的为全网中的各个MSC Server分别分配一段Call-ID的取值范围的方法。可以根据网络中网元个数,例如MSC Server的个数,将Call-ID的32比特长度的取值范围分段,每个MSC Server使用一段Call-ID;也可以每个Pool中的MSC Server共享一段Call-ID的取值范围。例如MSC Server1、MSC Server 2和MSC Server3组成一个共享Pool,当MSC Server2为一个呼叫分配了数值为3的Call-ID,则MSC Server2通知MSC Server1和MSC Server3,MSC Server1和MSC Server3就不再分配数值为3的Call-ID;同样地当MSC Server2释放了Call-ID=3的呼叫,也通知MSC Server1和MSC Server3,则MSC Server1和MSC Server3可以分配数值为3的Call-ID。
(2)用“网元标识”和“网元呼叫标识”的组合来表示Call-ID
“网元标识”可以采用信令点编码、唯一标识网元的IP地址、全网内部分配的网元编号等方式,“网元标识”为能在全网范围内唯一标识该网元,即MSC Server的标识。
“网元呼叫标识”表示该网元能够为呼叫分配的编号,可以用一定范围的数值来表示具体的呼叫标识值,编号的具体分配可以由该网元来控制,
例如“网元标识”采用信令点编码,则Call-ID的表达方式如表3所示:
表3
“网元呼叫标识”为所述网元内部统一分配的呼叫标识值,如表2所示使用4个字节长度,就足够单个网元用来分配呼叫,“网元呼叫标识”部分的表达方式如表4所示:
表4
其中,n为表4中“信令点编码地址信息”部分的字节长度;
O/E为奇/偶标志:八位位组3的比特8,表示地址信息中所含地址信号数目的奇/偶,具体为:
0:偶数个地址信号
1:奇数个地址信号
地址性质表示语:八位位组3的比特1-7,表示地址信息的属性,具体为:
比特7654321
0000000(0)空闲
0000001(1)用户号码
0000010(2)国内备用
0000011(3)国内有效号码
0000100(4)国际号码
0000101(5)至1111111(127)空闲
地址信息:八位位组4及其以后的信息都是地址信号,其格式为:
O/E=1,即K为奇数且K=n/2-1;每个地址信号占4个比特,其表达方式如表5所示:
表5
若O/E=0,1即K为偶数且K=n/2;每个地址信号占4个比特,其表达方式如表6所示:
表6
本发明实施例的呼叫建立方法,通过用网元标识和网元呼叫标识的组合来表示Call-ID,或事先为网元分配不同的Call-ID取值范围,从各自的Call-ID取值范围中选取Call-ID数值分配给呼叫,使得Call-ID的唯一性得到保证,从而保证BSC不会收到数值相同的Call-ID;提高了呼叫建立的成功率。
如图11所示,为本发明实施例提供的呼叫建立装置结构示意图;本实施例包括:分配请求模块10,用于接收到媒体网关发送的完成建立IP端点的增加端点响应消息之后,将网元标识和网元呼叫标识组成的呼叫标识Call-ID携带在分配请求消息中发送给基站控制器;或从为移动交换中心分配的Call-ID取值区间中选择一个没有被占用的Call-ID值,发送携带有选择的Call-ID值的分配请求消息至基站控制器。本实施例还可以包括完成消息接收模块11,用于接收基站控制器建立以Call-ID值标识的呼叫之后返回的携带有该Call-ID值的分配完成消息。
如图12所示,为本发明实施例提供的呼叫处理方法实施例一流程图,本实施例的步骤811-819与图8所示实施例的步骤611-619相同,区别在于以下步骤:
步骤821、BSC1接收到MSC Server发送的分配请求消息,获得该消息里携带的Call-ID的值,BSC1判断该Call-ID的值是否已经存在于BSC1中并判断该Call-ID的标识方式是否有效,若已存在和/或标识方式无效,则发送携带有该Call-ID和/或相应失败原因指示值的分配失败消息给MSC Server;
本实施例呼叫建立失败的原因包括BSC收到重复数值的Call-ID值,语音编码类型不支持、资源不可用、Call-ID标识方式无效等,这些原因也会导致呼叫失败。Call-ID标识方式无效比如Call-ID少了一个字节,则失败原因指示值中包含“Call-ID格式错误”,以指示该Call-ID的标识方式无效。BSC收到重复数值的Call-ID值,则失败原因指示值中包含“Call-ID已存在”。
步骤823、MSC Server终止与该Call-ID的值对应的呼叫进程。
如图13所示,为本发明实施例提供的呼叫处理方法实施例二流程图,本实施例的步骤911-917与图9所示实施例的步骤711-717相同,区别在于以下步骤:
步骤919、BSC2接收到切换请求消息,获得该切换请求消息中的Call-ID的值,BSC2判断该Call-ID的值是否已经存在于BSC2中,并判断该Call-ID的标识方式是否有效,若已存在和/或标识方式无效,则发送携带有该Call-ID和/或相应失败原因指示值的切换失败消息给MSC Server;
本实施例呼叫切换失败的原因包括BSC收到重复数值的Call-ID值,语音编码类型不支持、资源不可用、Call-ID标识方式无效等,这些原因均会导致呼叫失败。Call-ID标识方式无效比如Call-ID少了一个比特位,则BSC2可以判断出该Call-ID的格式出错,进而将包含“Call-ID格式错误”的失败原因指示值通知给MSC Server。若BSC收到重复数值的Call-ID值,则将包含“Call-ID已存在”的失败原因指示值通知给MSC Server。
步骤921、MSC Server终止与该Call-ID的值对应的切换流程。
本发明实施例呼叫处理方法能够有效处理BSC接收到重复数值的Call-ID的呼叫。具体地通过将已存在同样数值的Call-ID携带在分配失败消息或切换失败消息中告知MSC Server,使得MSC Server可以根据该Call-ID的值终止重复Call-ID导致的异常呼叫流程。
如图14所示,为本发明实施例提供的呼叫处理装置实施例结构示意图,本实施例包括消息接收模块12,用于接收携带呼叫标识Call-ID的分配请求消息,或者接收携带呼叫标识Call-ID的切换请求消息;失败消息发送模块13,用于接收携带呼叫标识Call-ID的分配请求消息,当根据接收到的携带呼叫标识Call-ID的分配请求消息分配呼叫失败时,返回携带有该Call-ID的值和/或相应失败原因指示值的分配失败消息给移动交换中心,该失败原因指示值包括Call-ID已存在或Call-ID格式错误;或,用于接收携带呼叫标识Call-ID的切换请求消息,当根据接收到的携带呼叫标识Call-ID的切换请求消息分配呼叫失败时,返回携带有该Call-ID的值和/或相应失败原因指示值的切换失败消息给所述移动交换中心,还可以发送携带包含“Call-ID格式错误”或“Call-ID已存在”的失败原因指示值的分配失败消息或切换失败消息给移动交换中心。还可以包括:切换响应模块14,用于当Call-ID的值不存在于目标基站控制器中且标识方式有效时,在呼叫分配完成后返回切换请求确认消息;和/或分配响应模块15,用于当Call-ID的值不存在于目标基站控制器中且标识方式有效时,在呼叫分配完成后返回分配完成消息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,该程序在执行时包括上述实施例中的步骤。相应的存储介质可以是只读存储器,磁盘或光盘等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。