123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #ifndef _CALLROUTE_REQUEST_
- #define _CALLROUTE_REQUEST_
- #include <stdio.h>
- #include <stdlib.h>
- //请求包数据结构
- typedef struct proxy_req_hdr
- {
- char packgelen[4]; // 整包长,不含此字段(4bit)
- char version; // 版本号(1bit)
- char tradefrom[3]; // 渠道代码(3bit) MGA
- char terminalno[30]; // 终端号(30bit),可不填
- char reqtime[14]; // 请求时间(14bit)
- char requestcode[16]; // 请求码(16bit)
- char errorcode[7]; // 错误码(7bit)回包填
- char errormsg[20]; // 错误信息(20bit)回包填
- char reserved[30]; // 保留字段(30bit)
- }proxy_req_hdr_t;
- typedef struct proxy_req_body
- {
- char bodysnum[4]; // 包体数量(4bit)
- char bodyname[30]; // 包体名(30bit)
- char bodylen[4]; // 单个包体长度(4bit)
- char branchno[10]; // 分行编号(10bit)可不填
- char terminalno[20]; // 终端号(20bit)可不填
- char accessnum[10]; // 呼入码(10bit)必填
- }proxy_req_body_t;
- typedef struct proxy_req_packet
- {
- proxy_req_hdr_t req_hdr; //请求包头
- proxy_req_body_t req_body; //请求包体
- }proxy_req_packet_t;
- typedef struct proxy_rsp_body
- {
- char unkown_flag_a[4]; //1
- char gateway_type_a[30]; //网关类型
- char audio_len[4]; //内容长度
- char audio_centent[150]; //内容
- char unkown_flag_b[4]; //1
- char gateway_type_b[30]; //网关类型
- char video_len[4]; //内容长度
- char video_content_ip[20]; //内容(前20字节为ip,后10字节为端口号
- char video_content_port[10]; //内容(前20字节为ip,后10字节为端口号
- }proxy_rsp_body_t;
- //回复包数据结构
- typedef struct proxy_rsp_packet{
- proxy_req_hdr_t req_hdr; //请求包头
- proxy_rsp_body_t rsp_body;
- }proxy_rsp_packet_t;
- int fill_packet(proxy_req_packet_t* req_packet, const char* paccessnum, const char* pcalleridnum, const char* branchnum, char*strTime);
- #endif
|