l
若 M<N,则A方接收对话请求,本次业务过程建立在Phase M基础上进行。
l
若 M > N,则A方以TC_U_ABORT通信原语通知B方,对话请求被拒绝,同时,TC_U_ABORT携带A方支持的最高版本号N;B方收到TC_U_ABORT拒绝指示后,以Phase N再次发起对话请求,以后的业务过程建立在Phase N基础上进行。
我的程序是MAP User,我的问题是:
1)是不是发送MAP-U-ABORT的请求消息,在TCAP层就会转变为TC_U_ABORT?
2)在3GPP的29002文档里面,MAP-U-ABORT的参数只有以下三个。怎么设定参数,才能作为版本协商的拒绝,怎么才能把当前支持的版本号发给对方?
User reason M M(=)
Diagnostic information U C(=)
Specific information U C(=)
另外,我发现OPEN的response消息的refuse reason参数的取值中包含:Application-context-not-supported;
不知道是不是可以利用open的rsp消息做版本协商,但依然不知道怎么把自己支持的版本号返回。
请赐教,非常感谢!!!
时间: 2009-11-17 09:53
作者: faystudy 标题: 问题解决了
没有人回答。我把我自己的调查与大家分享一下。
我用的是Dialogic 7号信令软件包,我发现在MAP手册中有如下的描述:
2.6 Application Context negotiation
Application context version negotiation may now be performed by the user. This is necessary for dialogues to be successful when the application supports an older version than the MAP module for a particular application context. If, for example, a V3 application context is received for a dialogue but the highest version that the application supports is V2, application context negotiation may be performed by setting the Refuse reason parameter in the MAP-OPEN-RSP to “application context not supported” and also including the preferred application context.
我做了一些尝试, 在收到版本高于当前版本的MAP消息后,使用MAPDT_OPEN_RSP消息,设置refuse reason,并在application context使用了当前所能支持的最高版本号,代码摘录如下。
// Send Open response
rsp.type = MAPDT_OPEN_RSP;
bit_set(rsp.pi, MAPPN_applic_context);
// Set the application context as the highest version that the application supports
......