## 一、发送记录出现"待提交"状态 1.如果出现大量待提交,但是待提交数量正在变少,说明通道测速率较低,来不及发送,减缓客户端发送速率即可。 2.如果无新数据提交,待提交数量不减少,则可能是发送途中通道出错断开导致的脏数据,这时候用代提交的某条数据中的手机号在发送记录查询如果同一时间有相同手机号,相同内容短信发送记录一条是待提交,一条是拦截,错误码是WL:CNH则是此条所描述的情况 3.如果出现待提交数据未减少,也不是2的情况,则可确认是否开启量控并且设置了量控http空号,如果是,则在命中空号后的一段时间如无正常report成功的数据,则会出现部分被量控的数据处于待提交 ## 二、错误码解释 - WL:CGMT 有的时候配置了单通道,但是会报通道池没通道的错误,产品逻辑如下,在配置的单通道不健康/命中禁发省份/未配置对应运营商的通道的情况下,并且该产品或者该产品类型配置了通道池,则会去通道池中选取相应通道,如果未选到则会出现WL:CGMT错误 - WL:CNH 此错误都是在最终选取通道后,发现通道不健康无法发送则会出现此错误 - WL:CMT 没有配置通道池,也没有选中的单通道(比如未配置单通道,未启用单通道,通道不健康,命中了禁发省份)则会出现此错误码 - WL:HTMM 彩信通道不支持直接发送彩信需要使用报备制发送,但也没有报备好得彩信模版情况下会出现这种此错误码 - WL:PCNM 通道配置错误,比如彩信产品配置了短信通道则会出现此错误码 - WL:HWCS/WL:HWCL 配置了HTTP黑名单,但是进行HTTP请求的时候服务提供方报错了,并且SPID配置的是报错就进审核/拦截 - WL:CWHM 错误号码,系统无法识别手机号的号段,需要在 基础数据 - 号码地区管理 里面手动添加 - WL:CDQC 通道不支持该地区,比如SPID指定了移动通道,此通道不支持北京地区,如果通过此SPID发送北京手机号就会报这个错 - WL:NMSH 未匹配到模板,并且SPID配置的模板匹配方式是未匹配到进审核,并且人工审核的时候审核拒绝了,给下游的状态码就是WL:NMSH - WL:MBSH 命中了审核方向的模板,并且人工审核的时候审核拒绝了,给下游的状态码就是WL:MBSH - cmpp connect 错误码 0:正确 1:消息结构错 2:非法源地址 3:认证错 4:版本太高 5~ :其他错误 16:连接数超限制,18:该用户配置的协议为HTTP,不支持使用CMPP协议登录 - cmpp submit response错误码 8:超速,23:内存资源耗尽 100:长号码无效,103:余额不足,101:产品被锁定,105:产品类型被锁定 ## 三、SMPP错误代码 | Error code | Value | Decimal | Description | | --- | --- | --- | --- | | ESME\_ROK | 0x00000000 | 0 | No Error | | ESME\_RINVMSGLEN | 0x00000001 | 1 | Message Length is invalid | | ESME\_RINVCMDLEN | 0x00000002 | 2 | Command Length is invalid | | ESME\_RINVCMDID | 0x00000003 | 3 | Invalid Command ID | | ESME\_RINVBNDSTS | 0x00000004 | 4 | Incorrect BIND Status for given command | | ESME\_RALYBND | 0x00000005 | 5 | ESME Already in Bound State | | ESME\_RINVPRTFLG | 0x00000006 | 6 | Invalid Priority Flag | | ESME\_RINVREGDLVFLG | 0x00000007 | 7 | Invalid Registered Delivery Flag | | ESME\_RSYSERR | 0x00000008 | 8 | System Error | | ESME\_RINVSRCADR | 0x0000000A | 10 | Invalid Source Address | | ESME\_RINVDSTADR | 0x0000000B | 11 | Invalid Destination Address | | ESME\_RINVMSGID | 0x0000000C | 12 | Message ID is invalid | | ESME\_RBINDFAIL | 0x0000000D | 13 | Bind Failed | | ESME\_RINVPASWD | 0x0000000E | 14 | Invalid Password | | ESME\_RINVSYSID | 0x0000000F | 15 | Invalid System ID | | ESME\_RCANCELFAIL | 0x00000011 | 17 | Cancel SM Failed | | ESME\_RREPLACEFAIL | 0x00000013 | 19 | Replace SM Failed | | ESME\_RMSGQFUL | 0x00000014 | 20 | Message Queue Full | | ESME\_RINVSERTYP | 0x00000015 | 21 | Invalid Service Type | | ESME\_RINVNUMDESTS | 0x00000033 | 51 | Invalid number of destinations | | ESME\_RINVDLNAME | 0x00000034 | 52 | Invalid Distribution List name | | ESME\_RINVDESTFLAG | 0x00000040 | 64 | Destination flag is invalid (submit\_multi) | | ESME\_RINVSUBREP | 0x00000042 | 66 | Invalid ‘submit with replace’ request (i.e. submit\_sm withreplace\_if\_present\_flag set) | | ESME\_RINVESMCLASS | 0x00000043 | 67 | Invalid esm\_class field data | | ESME\_RCNTSUBDL | 0x00000044 | 68 | Cannot Submit to Distribution List | | ESME\_RSUBMITFAIL | 0x00000045 | 69 | submit\_sm or submit\_multi failed | | ESME\_RINVSRCTON | 0x00000048 | 72 | Invalid Source address TON | | ESME\_RINVSRCNPI | 0x00000049 | 73 | Invalid Source address NPI | | ESME\_RINVDSTTON | 0x00000050 | 80 | Invalid Destination address TON | | ESME\_RINVDSTNPI | 0x00000051 | 81 | Invalid Destination address NPI | | ESME\_RINVSYSTYP | 0x00000053 | 83 | Invalid system\_type field | | ESME\_RINVREPFLAG | 0x00000054 | 84 | Invalid replace\_if\_present flag | | ESME\_RINVNUMMSGS | 0x00000055 | 85 | Invalid number of messages | | ESME\_RTHROTTLED | 0x00000058 | 88 | Throttling error (ESME has exceeded allowed message limits) | | ESME\_RINVSCHED | 0x00000061 | 97 | Invalid Scheduled Delivery Time | | ESME\_RINVEXPIRY | 0x00000062 | 98 | Invalid message validity period (Expiry time) | | ESME\_RINVDFTMSGID | 0x00000063 | 99 | Predefined Message Invalid or Not Found | | ESME\_RX\_T\_APPN | 0x00000064 | 100 | ESME Receiver Temporary App Error Code | | ESME\_RX\_P\_APPN | 0x00000065 | 101 | ESME Receiver Permanent App Error Code | | ESME\_RX\_R\_APPN | 0x00000066 | 102 | ESME Receiver Reject Message Error Code | | ESME\_RQUERYFAIL | 0x00000067 | 103 | query\_sm request failed | | ESME\_RINVOPTPARSTREAM | 0x000000C0 | 192 | Error in the optional part of the PDUBody. | | ESME\_ROPTPARNOTALLWD | 0x000000C1 | 193 | Optional Parameter not allowed | | ESME\_RINVPARLEN | 0x000000C2 | 194 | Invalid Parameter Length. | | ESME\_RMISSINGOPTPARAM | 0x000000C3 | 195 | Expected Optional Parameter missing | | ESME\_RINVOPTPARAMVAL | 0x000000C4 | 196 | Invalid Optional Parameter Value | | ESME\_RDELIVERYFAILURE | 0x000000FE | 254 | Delivery Failure (used fordata\_sm\_resp) | | ESME\_RUNKNOWNERR | 0x000000FF | 255 | Unknown Error | 0x00000003;3;无效的命令ID 0x0000000A;10;原地址无效 0x0000000E;14;密码错误 0x0000000F;15;无效的sp 0x00000058;88;超速 0x00000501;1281;服务器未初始化好 0x00000502;1282;服务器资源耗尽 0x00000503;1283;携程数量过多 0x00000504;1284;重试连接数超限 0x00000505;1285;连接数超限 0x00000506;1286;产品被锁定 0x00000507;1287;产品类型被锁定 0x00000510;1296;余额不足 0x00000511;1297;长信参数错误 0x00000512;1298;长信参数错误 ## 四、计费规则 平台对客户收费有两种形式1.提交计费,2.成功计费 1.提交计费:用户提交就计费,不存在退费情况。 2.成功计费:用户提交先计费,之后等待上游通道明确返回submit response失败或者report失败的情况下会退回此条短信费用(退回分三种情况,见退费规则),其他情况不存在退费。 ## 五、退费规则: 1.立即返还:在上游通道返回失败后立即退费给用户。 2.3天后自动返还:在上游通道返回失败后的第三天退费给用户。每日晚上跑定时任务处理3天前当天的数据,例如14号跑定时任务只返11号的待返金额,11号之前的不会返。 3.手动返还:有平台管理员决定是否返还当前退款 ## 六、利润报表不准问题: 当通道侧出现问题出现大量待提交,如果用户侧是提交成功计费,由于wowlian平台采用的是实时统计报表,此时的利润是没有成本价的(因为没提交到上游通道),所以会导致利润增多,注意,即使将这批数据手动给下游返回失败状态报告利润也不会减少,因为是提交计费,与状态报告无关 ## 其他问题: 1.客户说已经提交了短信,但是平台看不到,这时候需要联系客户确认提交后返回的submit response是什么,因为提交时候出现的问题,平台事不会记录的,比如超速,长号码无效,余额不足等情况,虽然平台不记录,但是会返回相应的submit response给客户,请询问客户进行核对. 2.平台出现一样的手机号,一样的内容的短信,提交时间也基本一致,但是所属客户不同的情况,可能存在信息回流,即通道方所使用的通道可能是平台客户给提供 3.出现大量 “提交未知状态+待提交状态”,证明上游通道不返回submit resp,此时有2种原因: --1.上游通道正常接收所有的数据包,但是就是不返回submit resp,此时点击通道“小绿点”查看发送缓冲区会很小。 --2.上游通道程序假死,压根不接收任何数据包,此时所有的短信会积压在沃联平台的操作系统缓冲区,缓冲区积压满之后新的短信无法发出,并且沃联平台也无法接收report,此时查看发送缓冲区会很大(几万+),并且持续时间很久也不会变,此时重启通道和修改连接数也可能无法生效(因无法发送terminal包),而且重启很容易丢数据(缓冲区中的数据强制关闭连接后一段时间会被系统清空,但是对端没收到),只能联系上游通道尽快修复问题! 4、锁定:1、锁定用户后用户只是不可登录,但不影响其使用cmpp或http发送短信。2、锁定已开通产品(spid)后,该已开通产品(spid)不可进行短信发送。 5、注销用户:注销用户后该用户既不可登录平台并且其下所有已开通产品(spid)不可进行短信发送。 6、通道选取流程是:先走指定通道(包括SPID上指定,审核换通道指定,失败重提指定),如果没指定走产品通道池,如果失败了并且产品配置了失败补发,开始逐一走失败补发池里面的通道;期间如果出现通道选取异常(例如走了没配置的通道),请排查是否配置了 通道转向” 7、扩展号使用规则:①、指定扩展号、启用签名和下游传过来的扩展号如果同时使用,实际效果是 指定扩展号+签名扩展号拼接 ②、如果不启用签名,则实际效果是 指定扩展号+下游传过来的扩展号③、不启用指定扩展也不启用签名,然后下游也没传扩展号,这样会有上行无法匹对的风险