QB-╳╳-╳╳╳-╳╳╳╳ 误类型,各厂家在返回错误码时应尽可能向这9个错误码靠拢,当然,因为设计的原因或者查错的方便,厂家可以在规定的厂家自定义错误码空间中定义自己的错误码,但是,定义错误码时不允许存在类似与“其它错误”或者“系统错误”这类含义模糊的情况,即各厂家能够对自己返回的每一个错误码给出明确的含义解释,以利于错误发生时的定位工作。0-99为CMPP协议保留的错误码空间,请各厂家在预留的错误码空间范围:100-199内自行定 义,并提供详细的编码解释列表。
8.7.3 ISMG与GNS之间消息使用的错误码定义
0:系统操作成功; 1:没有匹配路由; 2:源网关代码错误; 3:路由类型错误;
4:本节点不支持更新(GNS分节点); 5:路由信息更新失败;
6:汇接网关路由信息时间戳比本地路由信息时间戳旧; 9:系统繁忙;
10:Update_type错误; 11:路由编号错误; 12:目的网关代码错误; 13:目的网关IP错误; 14:目的网关Port错误; 15:MT路由起始号码段错误; 16:MT路由截止号码段错误; 17:手机所属省代码错误; 18:用户类型错误; 19:SP_Id错误; 20:SP_Code错误; 21:SP_AccessType错误;
32
QB-╳╳-╳╳╳ -╳╳╳╳ 22:Service_Id错误; 23:Start_code错误; 24:End_code错误。
100~199:厂家自定义错误码空间。
8.7.4 GNS上路由信息的Route_Id的编号规则 按运营商、MO/MT分类,由0开始往上分配。
33
QB-╳╳-╳╳╳-╳╳╳╳
9 附录1 短信群发功能的实现
目前拟定按如下方式实现MT短信的群发功能(对SMC暂不实现群发):
SP侧ISMG接收到CMPP_SUBMIT消息后,判断是否为群发的MT短信,如果为群发的SMC,则返回错误;如果为其它类型的操作,仍旧按照以前的业务流程进行。如果是群发的MT短信(假设群发目的号码数为n),则将该消息拆包为n条CMPP_Fwd消息或直接发给SMSC的SUBMIT_SM消息,其中计费规则(对谁计费和计费多少)与单条MT短信的计费规则相同。返回给SP的CMPP_SUBMIT_RESP消息中的Msg_Id则暗示一个范围,即Msg_Id ~ Msg_Id+(n-1)分别对应n个目的手机用户的信息标识,那么在返回的状态报告中可以依据Msg_Id ~ Msg_Id+(n-1)范围内的数字匹配出群发短信中的每一个短信发送请求。需要注意的是,Msg_Id ~ Msg_Id+(n-1)范围内的信息标识不能被随后的其它CMPP_SUBMIT_RESP消息使用。
在Msg_Id中的“序列号”如下定义:“序列号:bit16~bit1,顺序增加,步长为1,循环使用。”,那么如果在Msg_Id ~ Msg_Id+(n-1)范围中仍然依据此规则,如果其中“序列号”到达最大值,则从0开始循环使用。
增加此短信群发功能,实际上等同于SP把以前分为n次发送的短信合并到一条消息中,但是SP仍然应该把此一条消息当作n条短信提交请求,并相应记录n条话单,SP拿n条话单与移动公司进行对帐和结算。
在短信群发的消息中,仍然需要判断消息中的计费号码、所有的目的号码的合法性,SP应该保证其中每个号码都是合法的,如果其中任何一个号码有错误,接入ISMG对此消息判断为错误,并给SP返回错误,不对其中任何号码进行发送处理。
接入ISMG对SP下发的短信的流量具有限制功能,对SP流量的统计对短信群发来说,应该计算为n条短信。
10 附录2 GNS协议目前实现说明
1、 MT路由信息中的Start_Id和End_Id应该相同,格式均应该为13XH0H1H2H3(其中X
为5、6、7、8、9);
34
QB-╳╳-╳╳╳-╳╳╳╳ 2、 MO路由信息目前主要根据Source_Id(源网关代码)和SP_Code(SP的服务代码)决
定,Service_Id和Service_Code目前尚未使用;
3、 Route_Id的编号目前仅按照MO/MT进行分别编号,并且MO和MT类的路由Route_Id
均从0开始编号。
35
QB-╳╳-╳╳╳-╳╳╳╳
11 修订历史
版本号 CMPP V1.2.1 CMPP V2.0 时间 2001.6 2002.4 主要内容或重大修改 1. 修改了Msg_Id的生成算法; 2. 明确了有关短信群发的问题; 3. CMPP_MO_ROUTE_RESP中的SP_CODE改为SP_Id(SP企业代码); 4. ISMG与GNS交互的消息中Area_Code含义定义为省代码,用省会城市区号表示; 5. 对Service_Id字段的要求放宽,可以是数字、字母和符号的组合; 6. 明确Dest_terminal_Id字段允许在用户终端号码前加“86”或“+86”; 7. 规定网关SP之间、网关之间消息发送等待确认时间暂定为60秒,超过则认为超时需要重发两次; 8. 规定了对于包月的SMC消息,应向SP返回成功与否的状态报告,若成功Stat值为DELIVRD,失败Stat值为UNDELIV; 9. 明确状态报告中ACCEPTED为中间状态,网关收到后应丢弃不做任何操作; 10. 修改了CMPP_ACTIVE_TEST_RESP的消息格式; 11. 增加了MO状态报告的格式、流程; 12. 在缩略语中增加了一些定义,改正了一些文字上前后不一致的地方,进行了版面调整; 13. 增加了网关在异常情形下的MO/MT状态报告的产生机制; 14. 对原协议中的端口号作了重新规定。 1、取消“源ISMG”和“目的ISMG”的说法,把用户归属的ISMG简称为“归属ISMG”,把SP接入的ISMG简称为“接入ISMG”,如果“归属ISMG”和“接入ISMG”为同一个ISMG,则用“归属/接入ISMG”或者“接入/归属ISMG”来代称;但在泛称时仍可能使用“源ISMG”和“目的ISMG”; 2、明确SP与ISMG之间、ISMG与ISMG之间的连接建议为采用长连接方式; 3、明确SP与ISMG之间的连接方式:SP为客户端、ISMG为服务器端; 4、取消CMPP_SUBMIT中对短信群发必须在SP不要求状 36
CMPP V2.1 2003.5