|
@@ -2,6 +2,9 @@
|
|
|
#include "ConnectorFSM.h"
|
|
|
#include "EventCode.h"
|
|
|
#include "json/json.h"
|
|
|
+#include "strutil.h"
|
|
|
+#include <winpr/crt.h>
|
|
|
+#include <winpr/string.h>
|
|
|
|
|
|
#define RELEASEING_TIMER_INTERVAL 1200
|
|
|
#define RELEASEING_SIP_TIMER 20000
|
|
@@ -391,22 +394,12 @@ static int CStringSplit(char* str, char** result, size_t ucount, const char* del
|
|
|
{
|
|
|
char* ptr = NULL;
|
|
|
size_t unum = ucount;
|
|
|
- //TODO: CrossPlaform [Gifur@2025730]
|
|
|
-#if defined(RVC_OS_WIN)
|
|
|
char* p = strtok_s(str, del, &ptr);
|
|
|
while (p != NULL && unum > 0) {
|
|
|
*result++ = p;
|
|
|
p = strtok_s(NULL, del, &ptr);
|
|
|
unum--;
|
|
|
}
|
|
|
-#else
|
|
|
- char* p = strtok_r(str, del, &ptr);
|
|
|
- while (p != NULL && unum > 0) {
|
|
|
- *result++ = p;
|
|
|
- p = strtok_r(NULL, del, &ptr);
|
|
|
- unum--;
|
|
|
- }
|
|
|
-#endif //RVC_OS_WIN
|
|
|
return ucount - unum;
|
|
|
}
|
|
|
|
|
@@ -433,58 +426,6 @@ static int GetCallInfoFromConfig(char* strcallurl, uint32_t ucalllen, char* stra
|
|
|
return iRet;
|
|
|
}
|
|
|
|
|
|
-/*无符号长整形转字符型*/
|
|
|
-#if defined(RVC_OS_LINUX)
|
|
|
-namespace
|
|
|
-{
|
|
|
- //TODO: CrossPlaform [Gifur@2025730]
|
|
|
- char* _ultoa(unsigned long value, char* pstring, int radix)
|
|
|
- {
|
|
|
- char tmp[33] = { 0 };
|
|
|
- char* tp = tmp;
|
|
|
- long i;
|
|
|
- unsigned long v = value;
|
|
|
- char* sp;
|
|
|
-
|
|
|
- if (radix > 36 || radix <= 1 || NULL == pstring) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
- while (v || tp == tmp) {
|
|
|
- i = v % radix;
|
|
|
- v = v / radix;
|
|
|
- if (i < 10)
|
|
|
- *tp++ = i + '0';
|
|
|
- else
|
|
|
- *tp++ = i + 'a' - 10;
|
|
|
- }
|
|
|
-
|
|
|
- sp = pstring;
|
|
|
-
|
|
|
- while (tp > tmp)
|
|
|
- *sp++ = *--tp;
|
|
|
- *sp = 0;
|
|
|
- return pstring;
|
|
|
- }
|
|
|
-}
|
|
|
-#endif //RVC_OS_LINUX
|
|
|
-
|
|
|
-static int get_interger_netaddr(char *strbuf, size_t ubufszie, const char* szip)
|
|
|
-{
|
|
|
- int ret = -1;
|
|
|
-
|
|
|
- unsigned long ulip = 0;
|
|
|
- if (NULL == strbuf || NULL == szip){
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- ulip = inet_addr(szip);
|
|
|
- _ultoa(ulip, strbuf, 10);
|
|
|
-
|
|
|
- ret = 0;
|
|
|
- return ret;
|
|
|
-}
|
|
|
-
|
|
|
int ACMCallFSM::ParseDefaultServer(const char* strServer)
|
|
|
{
|
|
|
int iRet = 0;
|
|
@@ -877,7 +818,7 @@ void ACMCallFSM::s11_on_entry()
|
|
|
callurl_node_t *node = get_no_used_node(m_pCallRouteList);
|
|
|
|
|
|
char callid_str[64] = { 0 };
|
|
|
- get_format_uuid(callid_str, 64);
|
|
|
+ str_get_format_uuid(callid_str, 64);
|
|
|
|
|
|
if (node != NULL){
|
|
|
m_LastSipError = MakeCall(node->strcallurl, CSimpleStringA::Format("sip:%s@%s;transport=UDP", node->strnewcallernum, ipstr),
|
|
@@ -899,7 +840,7 @@ void ACMCallFSM::s11_on_entry()
|
|
|
snprintf(strserver, MAX_PATH, "%s", m_voipserver[index].c_str());
|
|
|
if (0 == GetCallInfoFromConfig(strcallurl, MAX_PATH, strassistip, 32, &iport, strserver)){
|
|
|
char strassitinter[32] = {0};
|
|
|
- get_interger_netaddr(strassitinter, 32, strassistip);
|
|
|
+ str_get_interger_netaddr(strassitinter, 32, strassistip);
|
|
|
m_LastSipError = MakeCall(strcallurl, CSimpleStringA::Format("sip:%s#%s@%s;transport=UDP", m_strTerminalId.GetData(), strassitinter, ipstr),
|
|
|
callid_str, m_CallingParam);
|
|
|
m_iChanProxyPort[0] = iport;
|