[commit] r3385 - in freeswitch/trunk: libs/libdingaling libs/libdingaling/src src/mod/endpoints/mod_dingaling
Author: anthm Date: Thu Nov 16 11:10:39 2006 New Revision: 3385 Modified: freeswitch/trunk/libs/libdingaling/.update freeswitch/trunk/libs/libdingaling/src/libdingaling.c freeswitch/trunk/libs/libdingaling/src/libdingaling.h freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Log: update Modified: freeswitch/trunk/libs/libdingaling/.update ============================================================================== --- freeswitch/trunk/libs/libdingaling/.update (original) +++ freeswitch/trunk/libs/libdingaling/.update Thu Nov 16 11:10:39 2006 @@ -1 +1 @@ -Wed Nov 15 20:20:53 UTC 2006 +Thu Nov 16 16:09:31 UTC 2006 Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original) +++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Thu Nov 16 11:10:39 2006 @@ -250,7 +250,7 @@ } -ldl_status ldl_session_create(ldl_session_t **session_p, ldl_handle_t *handle, char *id, char *them, char *me) +ldl_status ldl_session_create(ldl_session_t **session_p, ldl_handle_t *handle, char *id, char *them, char *me, ldl_user_flag_t flags) { ldl_session_t *session = NULL; @@ -264,10 +264,10 @@ session->id = apr_pstrdup(session->pool, id); session->them = apr_pstrdup(session->pool, them); - if (me) { - session->initiator = apr_pstrdup(session->pool, me); - } + + session->initiator = apr_pstrdup(session->pool, (flags & LDL_FLAG_OUTBOUND) ? me : them); + if (ldl_test_flag(handle, LDL_FLAG_COMPONENT)) { session->login = apr_pstrdup(session->pool, me); } else { @@ -298,7 +298,7 @@ char *msg = NULL; if (!(session = apr_hash_get(handle->sessions, id, APR_HASH_KEY_STRING))) { - ldl_session_create(&session, handle, id, from, to); + ldl_session_create(&session, handle, id, from, to, LDL_FLAG_NONE); if (!session) { return LDL_STATUS_MEMERR; } Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.h ============================================================================== --- freeswitch/trunk/libs/libdingaling/src/libdingaling.h (original) +++ freeswitch/trunk/libs/libdingaling/src/libdingaling.h Thu Nov 16 11:10:39 2006 @@ -110,10 +110,12 @@ } ldl_flag_t; typedef enum { + LDL_FLAG_NONE = 0, LDL_FLAG_TLS = (1 << 10), LDL_FLAG_SASL_PLAIN = (1 << 11), LDL_FLAG_SASL_MD5 = (1 << 12), LDL_FLAG_COMPONENT = (1 << 13), + LDL_FLAG_OUTBOUND = (1 << 14) } ldl_user_flag_t; typedef enum { @@ -253,9 +255,10 @@ \param id the id to use for the session \param them the id of the other end of the call \param me the id of our end of the call + \param flags user flags \return SUCCESS OR FAILURE */ -ldl_status ldl_session_create(ldl_session_t **session_p, ldl_handle_t *handle, char *id, char *them, char *me); +ldl_status ldl_session_create(ldl_session_t **session_p, ldl_handle_t *handle, char *id, char *them, char *me, ldl_user_flag_t flags); /*! \brief get the id of a session Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Thu Nov 16 11:10:39 2006 @@ -1565,7 +1565,7 @@ switch_stun_random_string(sess_id, 10, "0123456789"); tech_pvt->us = switch_core_session_strdup(session, user); tech_pvt->them = switch_core_session_strdup(session, full_id); - ldl_session_create(&dlsession, mdl_profile->handle, sess_id, full_id, user); + ldl_session_create(&dlsession, mdl_profile->handle, sess_id, full_id, user, LDL_FLAG_OUTBOUND); tech_pvt->profile = mdl_profile; ldl_session_set_private(dlsession, *new_session); //ldl_session_set_value(dlsession, "dnis", dnis);
participants (1)
-
Freeswitch SVN