2004-09-23第1页共18页目录1USSD业务API简介...................................................................................................................22基于USSD业务API的应用程序框架.........................................................................................23USSD业务API描述...................................................................................................................33.1UssdInit..............................................................................................................................33.2UssdExit.............................................................................................................................43.3UssdLogin..........................................................................................................................43.4UssdLogout........................................................................................................................63.5UssdIsConnectedOk..........................................................................................................73.6UssdGetErrorString............................................................................................................83.7UssdReloadErrorInfoLib.....................................................................................................83.8UssdLocalOpen..................................................................................................................93.9UssdLocalClose...............................................................................................................103.10UssdSendRequest...........................................................................................................113.11UssdSendNotify...............................................................................................................123.12UssdSendResponse........................................................................................................133.13UssdSendRelease...........................................................................................................133.14UssdSendAbort................................................................................................................143.15UssdSendSwitch..............................................................................................................153.16UssdSendChargeInd........................................................................................................163.17RegisterUssdCallbackFunctions......................................................................................163.18USSD会话处理.................................................................................................................183.18.1超时处理.....................................................................................................................183.18.2连接断连处理..............................................................................................................182004-09-23第2页共18页USSD业务API开发指南1USSD业务API简介USSD业务API是对中国移动UAP协议的封装,支持中国移动的UAP协议。该API可以自动实现与USSD业务中心的连接管理,并可向上层应用提供当前连接状态。应用程序无需关心与USSD业务中心的连接,只需处理业务消息的收发及业务逻辑的实现即可。USSD业务API封装在一个动态库UssdClient.dll中,提供给用户使用。该API包含如下功能调用:1.USSD业务客户端系统初始化2.USSD业务客户端系统退出3.USSD业务账号登录4.USSD业务退出登录5.USSD业务回调函数注册6.USSD业务消息发送7.USSD业务连接状态查询8.USSD错误码标准说明的查询9.USSD错误码表加载通过上述功能用调用,USSD业务应用可以完成各种业务开发。关于USSD业务协议,请参见相应的文档《中国移动USSD业务协议接口规范》。2基于USSD业务API的应用程序框架下面是一个典型的基于USSD业务API的应用程序的框架:2004-09-23第3页共18页应用程序通过提供回调函数来对接收的消息处理,并将其转发给USSD会话消息处理器。USSD会话消息处理器负责USSD会话的创建及删除。会话消息具体由相应的USSD会话对象处理,这些会话对象各自完成USSD状态机和会话功能,并通过API函数将要发出的会话消息发给UssdServer。3USSD业务API描述本文以C语言的形式描述USSD业务API接口,不同语言编写的程序均可调用本API,但API对应的函数原型的形式应遵循该语言的语法。3.1UssdInit【功能说明】初始化USSD业务客户端系统【函数原型】externCintPASCALUssdInit(charszServerAddress[],intnServicePort);【返回值】0-成功其他-USSD错误码,如要得到该错误码的说明,请调用UssdGetErrorString函数【预置条件】不能重复调用本函数,如果已成功地调用了UssdExit,则可以再次调用本函数【详细描述】UssdInit用于对业务客户端系统进行初始化,业务应用程序在调用任何其他API函数前,必须首先初始化客户端系统。【参数说明】szServerAddress-UssdServer的IP地址nServicePort-UssdServer的业务接口端口号,该端口号由UssdServer的配置文件指定,缺省为:4400【调用示例】intnErrorCode=UssdInit(10.108.26.186,4400);if(nErrorCode!=0){charszErrorString[100];charszInfo[100];UssdGetErrorString(nErrorCode,szErrorString);sprintf(szInfo,USSD业务客户端初始化失败!\r\n错误内容:%s,szErrorString);MessageBox(NULL,szInfo,UssdInit()调用示例,MB_OK);}else{MessageBox(NULL,,USSD业务客户端初始化成功!,UssdInit()调用示例,MB_OK);}【相关调用】UssdExit、UssdGetErrorString2004-09-23第4页共18页3.2UssdExit【功能说明】退出USSD业务客户端系统【函数原型】externCintPASCALUssdExit();【返回值】0-成功其他-USSD错误码,如要得到该错误码的说明,请调用UssdGetErrorString函数【预置条件】在调用本函数前,客户端系统应已成功地初始化,应用程序如果要重新初始化客户端系统,则应首先调用UssdExit,然后再调用UssdInit函数。【详细描述】UssdExit用于退出业务客户端系统,此调用将断开一切未关闭的与UssdServer的连接,同时终止所有USSD业务消息的处理,将系统恢复到UssdInit调用前的状态。应用程序应在调用UssdExit前,关闭一切USSD会话资源,并终止对USSD会话消息的处理。【参数说明】无【调用示例】intnErrorCode=UssdExit();if(nErrorCode!=0){charszErrorString[100];charszInfo[100];UssdGetErrorString(nErrorCode,szErrorString);sprintf(szInfo,USSD业务客户端退出失败!\r\n错误内容:%s,szErrorString);MessageBox(NULL,szInfo,UssdExit()调用示例,MB_OK);}else{MessageBox(NULL,,USSD业务客户端退出