callroute_request.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "callroute_request.h"
  2. #include "strutil.h"
  3. /*ÕûÐÎת×Ö·ûÐÍ*/
  4. char* itoa(int value, char* pstring, int radix)
  5. {
  6. char tmp[33] = {0};
  7. char* tp = tmp;
  8. int i;
  9. unsigned v;
  10. int sign;
  11. char* sp;
  12. if (radix > 36 || radix <= 1 || NULL == pstring)
  13. {
  14. return 0;
  15. }
  16. sign = (radix == 10 && value < 0);
  17. if (sign)
  18. v = -value;
  19. else
  20. v = (unsigned)value;
  21. while (v || tp == tmp)
  22. {
  23. i = v % radix;
  24. v = v / radix;
  25. if (i < 10)
  26. * tp++ = i + '0';
  27. else
  28. *tp++ = i + 'a' - 10;
  29. }
  30. sp = pstring;
  31. if (sign)
  32. * sp++ = '-';
  33. while (tp > tmp)
  34. * sp++ = *--tp;
  35. *sp = 0;
  36. return pstring;
  37. }
  38. int fill_packet(proxy_req_packet_t* req_packet, const char* paccessnum, const char* pcalleridnum, const char* branchnum, char*strTime)
  39. {
  40. int ret = -1;
  41. char striLen[10] = {0};
  42. int iLen = sizeof(proxy_req_packet_t) - 4;
  43. if (NULL == req_packet){
  44. return ret;
  45. }
  46. itoa(iLen, striLen, 10);
  47. proxy_copy(req_packet->req_hdr.packgelen, striLen);
  48. req_packet->req_hdr.version = '1';
  49. proxy_copy(req_packet->req_hdr.tradefrom, "VGA");
  50. proxy_copy(req_packet->req_hdr.requestcode, "RvcRouteReq");
  51. proxy_copy(req_packet->req_hdr.reqtime, strTime);
  52. proxy_copy(req_packet->req_body.bodysnum, "1");
  53. proxy_copy(req_packet->req_body.bodylen, "40");
  54. proxy_copy(req_packet->req_body.bodyname, "RvcRouteReq");
  55. proxy_copy(req_packet->req_body.accessnum, paccessnum);
  56. proxy_copy(req_packet->req_body.terminalno, pcalleridnum);
  57. proxy_copy(req_packet->req_body.branchno, branchnum);
  58. ret = 0;
  59. return ret;
  60. }