Fixed Python module because of recent ICE changes in pjsua
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1128 74dad513-b988-da41-8d7b-12977e46ad98
This commit is contained in:
parent
fff245c591
commit
fbec997d1e
|
@ -51,6 +51,18 @@ Package=<4>
|
|||
|
||||
###############################################################################
|
||||
|
||||
Project: "pjnath"="..\..\pjnath\build\pjnath.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "pjsip_core"="..\..\pjsip\build\pjsip_core.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
|
@ -167,6 +179,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name pjsua_lib
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name pjnath
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
|
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\pjlib\include" /I "..\..\pjlib-util\include" /I "..\..\pjmedia\include" /I "..\..\pjsip\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /FR /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\pjlib\include" /I "..\..\pjlib-util\include" /I "..\..\pjmedia\include" /I "..\..\pjsip\include" /I "../../pjnath/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /FR /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x421 /d "NDEBUG"
|
||||
|
@ -53,7 +53,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 python24.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib /nologo /dll /map /machine:I386 /nodefaultlib:"libcmt.lib" /out:"..\lib\py_pjsua.pyd" /libpath:"../../pjlib/lib" /libpath:"../../pjlib-util/lib" /libpath:"../../pjmedia/lib" /libpath:"../../pjsip/lib"
|
||||
# ADD LINK32 python24.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib /nologo /dll /map /machine:I386 /nodefaultlib:"libcmt.lib" /out:"..\lib\py_pjsua.pyd" /libpath:"../../pjlib/lib" /libpath:"../../pjlib-util/lib" /libpath:"../../pjmedia/lib" /libpath:"../../pjsip/lib"
|
||||
# SUBTRACT LINK32 /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "py_pjsua - Win32 Debug"
|
||||
|
@ -70,7 +70,7 @@ LINK32=link.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\pjlib\include" /I "..\..\pjlib-util\include" /I "..\..\pjmedia\include" /I "..\..\pjsip\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\pjlib\include" /I "..\..\pjlib-util\include" /I "..\..\pjmedia\include" /I "..\..\pjsip\include" /I "../../pjnath/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PY_PJSUA_EXPORTS" /FR /YX /FD /GZ /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x421 /d "_DEBUG"
|
||||
|
@ -80,7 +80,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 python24_d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib /nologo /dll /debug /machine:I386 /out:"..\lib\py_pjsua_d.pyd" /pdbtype:sept /libpath:"../../pjlib/lib" /libpath:"../../pjlib-util/lib" /libpath:"../../pjmedia/lib" /libpath:"../../pjsip/lib" /libpath:"F:\incoming\projects\divusi\Python-2.4\Python-2.4\PCbuild" /libpath:"F:\incoming\projects\divusi\Python-2.4\Python-2.4\PC\VC6"
|
||||
# ADD LINK32 python24_d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib /nologo /dll /debug /machine:I386 /out:"..\lib\py_pjsua_d.pyd" /pdbtype:sept /libpath:"../../pjlib/lib" /libpath:"../../pjlib-util/lib" /libpath:"../../pjmedia/lib" /libpath:"../../pjsip/lib" /libpath:"F:\incoming\projects\divusi\Python-2.4\Python-2.4\PCbuild" /libpath:"F:\incoming\projects\divusi\Python-2.4\Python-2.4\PC\VC6"
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -208,16 +208,16 @@ def app_init():
|
|||
err_exit("pjsua init() error", status)
|
||||
|
||||
# Configure STUN config
|
||||
stun_cfg = py_pjsua.stun_config_default()
|
||||
stun_cfg.stun_srv1 = C_STUN_SRV
|
||||
stun_cfg.stun_srv2 = C_STUN_SRV
|
||||
stun_cfg.stun_port1 = C_STUN_PORT
|
||||
stun_cfg.stun_port2 = C_STUN_PORT
|
||||
#stun_cfg = py_pjsua.stun_config_default()
|
||||
#stun_cfg.stun_srv1 = C_STUN_SRV
|
||||
#stun_cfg.stun_srv2 = C_STUN_SRV
|
||||
#stun_cfg.stun_port1 = C_STUN_PORT
|
||||
#stun_cfg.stun_port2 = C_STUN_PORT
|
||||
|
||||
# Configure UDP transport config
|
||||
transport_cfg = py_pjsua.transport_config_default()
|
||||
transport_cfg.port = C_SIP_PORT
|
||||
transport_cfg.stun_config = stun_cfg
|
||||
#transport_cfg.stun_config = stun_cfg
|
||||
if C_STUN_SRV != "":
|
||||
transport_cfg.use_stun = 1
|
||||
|
||||
|
|
|
@ -918,6 +918,9 @@ typedef struct
|
|||
unsigned thread_cnt;
|
||||
unsigned outbound_proxy_cnt;
|
||||
pj_str_t outbound_proxy[4];
|
||||
PyObject *stun_domain;
|
||||
PyObject *stun_host;
|
||||
PyObject *stun_relay_host;
|
||||
unsigned cred_count;
|
||||
pjsip_cred_info cred_info[PJSUA_ACC_MAX_PROXIES];
|
||||
callback_Object * cb;
|
||||
|
@ -2346,141 +2349,6 @@ static char pjsua_msg_data_init_doc[] =
|
|||
|
||||
/* LIB TRANSPORT */
|
||||
|
||||
/*
|
||||
* stun_config_Object
|
||||
* STUN configuration
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
PyObject_HEAD
|
||||
/* Type-specific fields go here. */
|
||||
PyObject * stun_srv1;
|
||||
unsigned stun_port1;
|
||||
PyObject * stun_srv2;
|
||||
unsigned stun_port2;
|
||||
} stun_config_Object;
|
||||
|
||||
|
||||
/*
|
||||
* stun_config_dealloc
|
||||
* deletes a stun config from memory
|
||||
*/
|
||||
static void stun_config_dealloc(stun_config_Object* self)
|
||||
{
|
||||
Py_XDECREF(self->stun_srv1);
|
||||
Py_XDECREF(self->stun_srv2);
|
||||
self->ob_type->tp_free((PyObject*)self);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* stun_config_new
|
||||
* constructor for stun_config object
|
||||
*/
|
||||
static PyObject * stun_config_new(PyTypeObject *type, PyObject *args,
|
||||
PyObject *kwds)
|
||||
{
|
||||
stun_config_Object *self;
|
||||
self = (stun_config_Object *)type->tp_alloc(type, 0);
|
||||
if (self != NULL)
|
||||
{
|
||||
self->stun_srv1 = PyString_FromString("");
|
||||
if (self->stun_srv1 == NULL)
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
self->stun_srv2 = PyString_FromString("");
|
||||
if (self->stun_srv2 == NULL)
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return (PyObject *)self;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* stun_config_members
|
||||
*/
|
||||
static PyMemberDef stun_config_members[] =
|
||||
{
|
||||
{
|
||||
"stun_port1", T_INT, offsetof(stun_config_Object, stun_port1), 0,
|
||||
"The first STUN server IP address or hostname."
|
||||
},
|
||||
{
|
||||
"stun_port2", T_INT, offsetof(stun_config_Object, stun_port2), 0,
|
||||
"Port number of the second STUN server. "
|
||||
"If zero, default STUN port will be used."
|
||||
},
|
||||
{
|
||||
"stun_srv1", T_OBJECT_EX,
|
||||
offsetof(stun_config_Object, stun_srv1), 0,
|
||||
"The first STUN server IP address or hostname"
|
||||
},
|
||||
{
|
||||
"stun_srv2", T_OBJECT_EX,
|
||||
offsetof(stun_config_Object, stun_srv2), 0,
|
||||
"Optional second STUN server IP address or hostname, for which the "
|
||||
"result of the mapping request will be compared to. If the value "
|
||||
"is empty, only one STUN server will be used"
|
||||
},
|
||||
{NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* stun_config_Type
|
||||
*/
|
||||
static PyTypeObject stun_config_Type =
|
||||
{
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0, /*ob_size*/
|
||||
"py_pjsua.STUN_Config", /*tp_name*/
|
||||
sizeof(stun_config_Object), /*tp_basicsize*/
|
||||
0, /*tp_itemsize*/
|
||||
(destructor)stun_config_dealloc,/*tp_dealloc*/
|
||||
0, /*tp_print*/
|
||||
0, /*tp_getattr*/
|
||||
0, /*tp_setattr*/
|
||||
0, /*tp_compare*/
|
||||
0, /*tp_repr*/
|
||||
0, /*tp_as_number*/
|
||||
0, /*tp_as_sequence*/
|
||||
0, /*tp_as_mapping*/
|
||||
0, /*tp_hash */
|
||||
0, /*tp_call*/
|
||||
0, /*tp_str*/
|
||||
0, /*tp_getattro*/
|
||||
0, /*tp_setattro*/
|
||||
0, /*tp_as_buffer*/
|
||||
Py_TPFLAGS_DEFAULT, /*tp_flags*/
|
||||
"STUN Config objects", /* tp_doc */
|
||||
0, /* tp_traverse */
|
||||
0, /* tp_clear */
|
||||
0, /* tp_richcompare */
|
||||
0, /* tp_weaklistoffset */
|
||||
0, /* tp_iter */
|
||||
0, /* tp_iternext */
|
||||
0, /* tp_methods */
|
||||
stun_config_members, /* tp_members */
|
||||
0, /* tp_getset */
|
||||
0, /* tp_base */
|
||||
0, /* tp_dict */
|
||||
0, /* tp_descr_get */
|
||||
0, /* tp_descr_set */
|
||||
0, /* tp_dictoffset */
|
||||
0, /* tp_init */
|
||||
0, /* tp_alloc */
|
||||
stun_config_new, /* tp_new */
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* transport_config_Object
|
||||
* Transport configuration for creating UDP transports for both SIP
|
||||
|
@ -2493,8 +2361,6 @@ typedef struct
|
|||
unsigned port;
|
||||
PyObject * public_addr;
|
||||
PyObject * bound_addr;
|
||||
int use_stun;
|
||||
stun_config_Object * stun_config;
|
||||
} transport_config_Object;
|
||||
|
||||
|
||||
|
@ -2506,7 +2372,6 @@ static void transport_config_dealloc(transport_config_Object* self)
|
|||
{
|
||||
Py_XDECREF(self->public_addr);
|
||||
Py_XDECREF(self->bound_addr);
|
||||
Py_XDECREF(self->stun_config);
|
||||
self->ob_type->tp_free((PyObject*)self);
|
||||
}
|
||||
|
||||
|
@ -2535,14 +2400,6 @@ static PyObject * transport_config_new(PyTypeObject *type, PyObject *args,
|
|||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
self->stun_config =
|
||||
(stun_config_Object *)stun_config_new(&stun_config_Type,NULL,NULL);
|
||||
if (self->stun_config == NULL)
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return (PyObject *)self;
|
||||
|
@ -2579,16 +2436,6 @@ static PyMemberDef transport_config_members[] =
|
|||
"published address of a transport (the public_addr field should be "
|
||||
"used for that purpose)."
|
||||
},
|
||||
{
|
||||
"use_stun", T_INT,
|
||||
offsetof(transport_config_Object, use_stun), 0,
|
||||
"Flag to indicate whether STUN should be used."
|
||||
},
|
||||
{
|
||||
"stun_config", T_OBJECT_EX,
|
||||
offsetof(transport_config_Object, stun_config), 0,
|
||||
"STUN configuration, must be specified when STUN is used."
|
||||
},
|
||||
{NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
@ -2642,137 +2489,6 @@ static PyTypeObject transport_config_Type =
|
|||
|
||||
};
|
||||
|
||||
/*
|
||||
* sockaddr_Object
|
||||
* C/Python wrapper for sockaddr object
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
PyObject_HEAD
|
||||
/* Type-specific fields go here. */
|
||||
#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0
|
||||
pj_uint8_t sa_zero_len;
|
||||
pj_uint8_t sa_family;
|
||||
#else
|
||||
pj_uint16_t sa_family; /**< Common data: address family. */
|
||||
#endif
|
||||
PyObject * sa_data; /**< Address data. */
|
||||
} sockaddr_Object;
|
||||
|
||||
/*
|
||||
* sockaddr_dealloc
|
||||
* deletes a sockaddr from memory
|
||||
*/
|
||||
static void sockaddr_dealloc(sockaddr_Object* self)
|
||||
{
|
||||
Py_XDECREF(self->sa_data);
|
||||
self->ob_type->tp_free((PyObject*)self);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* sockaddr_new
|
||||
* constructor for sockaddr object
|
||||
*/
|
||||
static PyObject * sockaddr_new(PyTypeObject *type, PyObject *args,
|
||||
PyObject *kwds)
|
||||
{
|
||||
sockaddr_Object *self;
|
||||
|
||||
self = (sockaddr_Object *)type->tp_alloc(type, 0);
|
||||
if (self != NULL)
|
||||
{
|
||||
self->sa_data = PyString_FromString("");
|
||||
if (self->sa_data == NULL)
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return (PyObject *)self;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* sockaddr_members
|
||||
* declares attributes accessible from both C and Python for sockaddr object
|
||||
*/
|
||||
static PyMemberDef sockaddr_members[] =
|
||||
{
|
||||
#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0
|
||||
{
|
||||
"sa_zero_len", T_INT, offsetof(sockaddr_Object, sa_zero_len), 0,
|
||||
""
|
||||
},
|
||||
{
|
||||
"sa_family", T_INT,
|
||||
offsetof(sockaddr_Object, sa_family), 0,
|
||||
"Common data: address family."
|
||||
},
|
||||
#else
|
||||
{
|
||||
"sa_family", T_INT,
|
||||
offsetof(sockaddr_Object, sa_family), 0,
|
||||
"Common data: address family."
|
||||
},
|
||||
#endif
|
||||
{
|
||||
"sa_data", T_OBJECT_EX,
|
||||
offsetof(sockaddr_Object, sa_data), 0,
|
||||
"Address data"
|
||||
},
|
||||
{NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* sockaddr_Type
|
||||
*/
|
||||
static PyTypeObject sockaddr_Type =
|
||||
{
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
0, /*ob_size*/
|
||||
"py_pjsua.Sockaddr", /*tp_name*/
|
||||
sizeof(sockaddr_Object), /*tp_basicsize*/
|
||||
0, /*tp_itemsize*/
|
||||
(destructor)sockaddr_dealloc,/*tp_dealloc*/
|
||||
0, /*tp_print*/
|
||||
0, /*tp_getattr*/
|
||||
0, /*tp_setattr*/
|
||||
0, /*tp_compare*/
|
||||
0, /*tp_repr*/
|
||||
0, /*tp_as_number*/
|
||||
0, /*tp_as_sequence*/
|
||||
0, /*tp_as_mapping*/
|
||||
0, /*tp_hash */
|
||||
0, /*tp_call*/
|
||||
0, /*tp_str*/
|
||||
0, /*tp_getattro*/
|
||||
0, /*tp_setattro*/
|
||||
0, /*tp_as_buffer*/
|
||||
Py_TPFLAGS_DEFAULT, /*tp_flags*/
|
||||
"Sockaddr objects", /*tp_doc*/
|
||||
0, /*tp_traverse*/
|
||||
0, /*tp_clear*/
|
||||
0, /*tp_richcompare*/
|
||||
0, /* tp_weaklistoffset */
|
||||
0, /* tp_iter */
|
||||
0, /* tp_iternext */
|
||||
0, /* tp_methods */
|
||||
sockaddr_members, /* tp_members */
|
||||
0, /* tp_getset */
|
||||
0, /* tp_base */
|
||||
0, /* tp_dict */
|
||||
0, /* tp_descr_get */
|
||||
0, /* tp_descr_set */
|
||||
0, /* tp_dictoffset */
|
||||
0, /* tp_init */
|
||||
0, /* tp_alloc */
|
||||
sockaddr_new, /* tp_new */
|
||||
};
|
||||
|
||||
/*
|
||||
* host_port_Object
|
||||
* C/Python wrapper for host_port object
|
||||
|
@ -2904,7 +2620,6 @@ typedef struct
|
|||
PyObject * info;
|
||||
unsigned flag;
|
||||
unsigned addr_len;
|
||||
sockaddr_Object * local_addr;
|
||||
host_port_Object * local_name;
|
||||
unsigned usage_count;
|
||||
} transport_info_Object;
|
||||
|
@ -2918,7 +2633,6 @@ static void transport_info_dealloc(transport_info_Object* self)
|
|||
{
|
||||
Py_XDECREF(self->type_name);
|
||||
Py_XDECREF(self->info);
|
||||
Py_XDECREF(self->local_addr);
|
||||
Py_XDECREF(self->local_name);
|
||||
self->ob_type->tp_free((PyObject*)self);
|
||||
}
|
||||
|
@ -2948,13 +2662,6 @@ static PyObject * transport_info_new(PyTypeObject *type, PyObject *args,
|
|||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
self->local_addr =
|
||||
(sockaddr_Object *)sockaddr_new(&sockaddr_Type,NULL,NULL);
|
||||
if (self->local_addr == NULL)
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return NULL;
|
||||
}
|
||||
self->local_name =
|
||||
(host_port_Object *)host_port_new(&host_port_Type,NULL,NULL);
|
||||
if (self->local_name == NULL)
|
||||
|
@ -2999,11 +2706,6 @@ static PyMemberDef transport_info_members[] =
|
|||
"addr_len", T_INT, offsetof(transport_info_Object, addr_len), 0,
|
||||
"Local address length."
|
||||
},
|
||||
{
|
||||
"local_addr", T_OBJECT_EX,
|
||||
offsetof(transport_info_Object, local_addr), 0,
|
||||
"Local/bound address."
|
||||
},
|
||||
{
|
||||
"local_name", T_OBJECT_EX,
|
||||
offsetof(transport_info_Object, local_name), 0,
|
||||
|
@ -3108,33 +2810,6 @@ static PyTypeObject pjsip_transport_Type =
|
|||
};
|
||||
|
||||
|
||||
/*
|
||||
* py_pjsua_stun_config_default
|
||||
* !modified @ 051206
|
||||
*/
|
||||
static PyObject *py_pjsua_stun_config_default(PyObject *pSelf, PyObject *pArgs)
|
||||
{
|
||||
stun_config_Object *obj;
|
||||
pjsua_stun_config cfg;
|
||||
|
||||
if (!PyArg_ParseTuple(pArgs, ""))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pjsua_stun_config_default(&cfg);
|
||||
obj = (stun_config_Object *)stun_config_new(&stun_config_Type, NULL, NULL);
|
||||
obj->stun_port1 = cfg.stun_port1;
|
||||
obj->stun_port2 = cfg.stun_port2;
|
||||
Py_XDECREF(obj->stun_srv1);
|
||||
obj->stun_srv1 =
|
||||
PyString_FromStringAndSize(cfg.stun_srv1.ptr, cfg.stun_srv1.slen);
|
||||
Py_XDECREF(obj->stun_srv2);
|
||||
obj->stun_srv2 =
|
||||
PyString_FromStringAndSize(cfg.stun_srv2.ptr, cfg.stun_srv2.slen);
|
||||
return (PyObject *)obj;
|
||||
}
|
||||
|
||||
/*
|
||||
* py_pjsua_transport_config_default
|
||||
* !modified @ 051206
|
||||
|
@ -3157,65 +2832,9 @@ static PyObject *py_pjsua_transport_config_default
|
|||
obj->bound_addr =
|
||||
PyString_FromStringAndSize(cfg.bound_addr.ptr, cfg.bound_addr.slen);
|
||||
obj->port = cfg.port;
|
||||
obj->use_stun = cfg.use_stun;
|
||||
Py_XDECREF(obj->stun_config);
|
||||
obj->stun_config =
|
||||
(stun_config_Object *)stun_config_new(&stun_config_Type, NULL, NULL);
|
||||
obj->stun_config->stun_port1 = cfg.stun_config.stun_port1;
|
||||
obj->stun_config->stun_port2 = cfg.stun_config.stun_port2;
|
||||
Py_XDECREF(obj->stun_config->stun_srv1);
|
||||
obj->stun_config->stun_srv1 =
|
||||
PyString_FromStringAndSize(cfg.stun_config.stun_srv1.ptr,
|
||||
cfg.stun_config.stun_srv1.slen);
|
||||
Py_XDECREF(obj->stun_config->stun_srv2);
|
||||
obj->stun_config->stun_srv2 =
|
||||
PyString_FromStringAndSize(cfg.stun_config.stun_srv2.ptr,
|
||||
cfg.stun_config.stun_srv2.slen);
|
||||
return (PyObject *)obj;
|
||||
}
|
||||
|
||||
/*
|
||||
* py_pjsua_normalize_stun_config
|
||||
*/
|
||||
static PyObject *py_pjsua_normalize_stun_config
|
||||
(PyObject *pSelf, PyObject *pArgs)
|
||||
{
|
||||
PyObject * tmpObj;
|
||||
stun_config_Object *obj;
|
||||
pjsua_stun_config cfg;
|
||||
|
||||
if (!PyArg_ParseTuple(pArgs, "O", &tmpObj))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (tmpObj == Py_None) {
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
obj = (stun_config_Object *) tmpObj;
|
||||
cfg.stun_port1 = obj->stun_port1;
|
||||
cfg.stun_port2 = obj->stun_port2;
|
||||
cfg.stun_srv1.ptr = PyString_AsString(obj->stun_srv1);
|
||||
cfg.stun_srv1.slen = strlen(PyString_AsString(obj->stun_srv1));
|
||||
cfg.stun_srv2.ptr = PyString_AsString(obj->stun_srv2);
|
||||
cfg.stun_srv2.slen = strlen(PyString_AsString(obj->stun_srv2));
|
||||
|
||||
pjsua_normalize_stun_config(&cfg);
|
||||
obj->stun_port1 = cfg.stun_port1;
|
||||
obj->stun_port2 = cfg.stun_port2;
|
||||
Py_XDECREF(obj->stun_srv1);
|
||||
obj->stun_srv1 =
|
||||
PyString_FromStringAndSize(cfg.stun_srv1.ptr, cfg.stun_srv1.slen);
|
||||
Py_XDECREF(obj->stun_srv2);
|
||||
obj->stun_srv2 =
|
||||
PyString_FromStringAndSize(cfg.stun_srv2.ptr, cfg.stun_srv2.slen);
|
||||
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
/*
|
||||
* py_pjsua_transport_create
|
||||
* !modified @ 051206
|
||||
|
@ -3241,17 +2860,6 @@ static PyObject *py_pjsua_transport_create(PyObject *pSelf, PyObject *pArgs)
|
|||
cfg.bound_addr.ptr = PyString_AsString(obj->bound_addr);
|
||||
cfg.bound_addr.slen = strlen(PyString_AsString(obj->bound_addr));
|
||||
cfg.port = obj->port;
|
||||
cfg.use_stun = obj->use_stun;
|
||||
cfg.stun_config.stun_port1 = obj->stun_config->stun_port1;
|
||||
cfg.stun_config.stun_port2 = obj->stun_config->stun_port2;
|
||||
cfg.stun_config.stun_srv1.ptr =
|
||||
PyString_AsString(obj->stun_config->stun_srv1);
|
||||
cfg.stun_config.stun_srv1.slen =
|
||||
strlen(PyString_AsString(obj->stun_config->stun_srv1));
|
||||
cfg.stun_config.stun_srv2.ptr =
|
||||
PyString_AsString(obj->stun_config->stun_srv2);
|
||||
cfg.stun_config.stun_srv2.slen =
|
||||
strlen(PyString_AsString(obj->stun_config->stun_srv2));
|
||||
status = pjsua_transport_create(type, &cfg, &id);
|
||||
} else {
|
||||
status = pjsua_transport_create(type, NULL, &id);
|
||||
|
@ -3343,14 +2951,6 @@ static PyObject *py_pjsua_transport_get_info(PyObject *pSelf, PyObject *pArgs)
|
|||
obj->flag = info.flag;
|
||||
obj->id = info.id;
|
||||
obj->info = PyString_FromStringAndSize(info.info.ptr, info.info.slen);
|
||||
obj->local_addr->sa_data =
|
||||
PyString_FromStringAndSize(info.local_addr.sa_data, 14);
|
||||
#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0
|
||||
obj->local_addr->sa_zero_len = info.local_addr.sa_zero_len;
|
||||
obj->local_addr->sa_family = info.local_addr.sa_family;
|
||||
#else
|
||||
obj->local_addr->sa_family = info.local_addr.sa_family;
|
||||
#endif
|
||||
return Py_BuildValue("O", obj);
|
||||
} else {
|
||||
Py_INCREF(Py_None);
|
||||
|
@ -3393,15 +2993,9 @@ static PyObject *py_pjsua_transport_close(PyObject *pSelf, PyObject *pArgs)
|
|||
return Py_BuildValue("i",status);
|
||||
}
|
||||
|
||||
static char pjsua_stun_config_default_doc[] =
|
||||
"py_pjsua.STUN_Config py_pjsua.stun_config_default () "
|
||||
"Call this function to initialize STUN config with default values.";
|
||||
static char pjsua_transport_config_default_doc[] =
|
||||
"py_pjsua.Transport_Config py_pjsua.transport_config_default () "
|
||||
"Call this function to initialize UDP config with default values.";
|
||||
static char pjsua_normalize_stun_config_doc[] =
|
||||
"void py_pjsua.normalize_stun_config (py_pjsua.STUN_Config cfg) "
|
||||
"Normalize STUN config. ";
|
||||
static char pjsua_transport_create_doc[] =
|
||||
"int, int py_pjsua.transport_create (int type, "
|
||||
"py_pjsua.Transport_Config cfg) "
|
||||
|
@ -8118,19 +7712,10 @@ static PyMethodDef py_pjsua_methods[] =
|
|||
"msg_data_init", py_pjsua_msg_data_init, METH_VARARGS,
|
||||
pjsua_msg_data_init_doc
|
||||
},
|
||||
{
|
||||
"stun_config_default", py_pjsua_stun_config_default, METH_VARARGS,
|
||||
pjsua_stun_config_default_doc
|
||||
},
|
||||
{
|
||||
"transport_config_default", py_pjsua_transport_config_default,
|
||||
METH_VARARGS,pjsua_transport_config_default_doc
|
||||
},
|
||||
{
|
||||
"normalize_stun_config", py_pjsua_normalize_stun_config, METH_VARARGS,
|
||||
pjsua_normalize_stun_config_doc
|
||||
},
|
||||
|
||||
{
|
||||
"transport_create", py_pjsua_transport_create, METH_VARARGS,
|
||||
pjsua_transport_create_doc
|
||||
|
@ -8516,12 +8101,8 @@ initpy_pjsua(void)
|
|||
|
||||
/* LIB TRANSPORT */
|
||||
|
||||
if (PyType_Ready(&stun_config_Type) < 0)
|
||||
return;
|
||||
if (PyType_Ready(&transport_config_Type) < 0)
|
||||
return;
|
||||
if (PyType_Ready(&sockaddr_Type) < 0)
|
||||
return;
|
||||
if (PyType_Ready(&host_port_Type) < 0)
|
||||
return;
|
||||
|
||||
|
@ -8637,13 +8218,9 @@ initpy_pjsua(void)
|
|||
|
||||
/* LIB TRANSPORT */
|
||||
|
||||
Py_INCREF(&stun_config_Type);
|
||||
PyModule_AddObject(m, "STUN_Config", (PyObject *)&stun_config_Type);
|
||||
Py_INCREF(&transport_config_Type);
|
||||
PyModule_AddObject
|
||||
(m, "Transport_Config", (PyObject *)&transport_config_Type);
|
||||
Py_INCREF(&sockaddr_Type);
|
||||
PyModule_AddObject(m, "Sockaddr", (PyObject *)&sockaddr_Type);
|
||||
Py_INCREF(&host_port_Type);
|
||||
PyModule_AddObject(m, "Host_Port", (PyObject *)&host_port_Type);
|
||||
|
||||
|
|
Loading…
Reference in New Issue