summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_core.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-01-13 23:22:40 +0000
committerBenny Prijono <bennylp@teluu.com>2007-01-13 23:22:40 +0000
commit2fe4e4e9985b9c4cbff7209a9c876a314abc9779 (patch)
tree216d17b9d93ad17b74f70e76a5913fd18243ddb3 /pjsip/src/pjsua-lib/pjsua_core.c
parent79a935f4554f9b852862e52df82c02b2ef22bae8 (diff)
More work on ticket #50: binding of PJSUA-API account to specific transport, and minor fixes in PJSIP core implementation. Tested okay.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@881 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_core.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index 21864833..b7194111 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1189,7 +1189,7 @@ PJ_DEF(pj_status_t) pjsua_enum_transports( pjsua_transport_id id[],
PJ_DEF(pj_status_t) pjsua_transport_get_info( pjsua_transport_id id,
pjsua_transport_info *info)
{
- struct transport_data *t = &pjsua_var.tpdata[id];
+ pjsua_transport_data *t = &pjsua_var.tpdata[id];
pj_status_t status;
pj_bzero(info, sizeof(*info));
@@ -1416,6 +1416,34 @@ void pjsua_parse_media_type( pj_pool_t *pool,
/*
+ * Internal function to init transport selector from transport id.
+ */
+void pjsua_init_tpselector(pjsua_transport_id tp_id,
+ pjsip_tpselector *sel)
+{
+ pjsua_transport_data *tpdata;
+ unsigned flag;
+
+ pj_bzero(sel, sizeof(*sel));
+ if (tp_id == PJSUA_INVALID_ID)
+ return;
+
+ pj_assert(tp_id >= 0 && tp_id < PJ_ARRAY_SIZE(pjsua_var.tpdata));
+ tpdata = &pjsua_var.tpdata[tp_id];
+
+ flag = pjsip_transport_get_flag_from_type(tpdata->type);
+
+ if (flag & PJSIP_TRANSPORT_DATAGRAM) {
+ sel->type = PJSIP_TPSELECTOR_TRANSPORT;
+ sel->u.transport = tpdata->data.tp;
+ } else {
+ sel->type = PJSIP_TPSELECTOR_LISTENER;
+ sel->u.listener = tpdata->data.factory;
+ }
+}
+
+
+/*
* Verify that valid SIP url is given.
*/
PJ_DEF(pj_status_t) pjsua_verify_sip_url(const char *c_url)