]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
update
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 16 Nov 2006 16:10:39 +0000 (16:10 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 16 Nov 2006 16:10:39 +0000 (16:10 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3385 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/libdingaling/.update
libs/libdingaling/src/libdingaling.c
libs/libdingaling/src/libdingaling.h
src/mod/endpoints/mod_dingaling/mod_dingaling.c

index 672d39b4a8122da40bbf6658ed0c7815e5e37010..04fce42f4e1aaedfbf56be3eb9a29575a75994af 100644 (file)
@@ -1 +1 @@
-Wed Nov 15 20:20:53 UTC 2006
+Thu Nov 16 16:09:31 UTC 2006
index 0d654ce6d62b5f10c2db09cd7cf13d17593c3235..6929b9b856295322f3b764e3cad3ea8122811f83 100644 (file)
@@ -250,7 +250,7 @@ ldl_status ldl_session_destroy(ldl_session_t **session_p)
 }
 
 
-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,9 +264,9 @@ ldl_status ldl_session_create(ldl_session_t **session_p, ldl_handle_t *handle, c
        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);
@@ -298,7 +298,7 @@ static ldl_status parse_session_code(ldl_handle_t *handle, char *id, char *from,
        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;
                }
index d3d1f1d386a761fda9c7205bf009098dc98f3875..1b902b751c13c9e7171da2ffa921c3666de5b9ef 100644 (file)
@@ -110,10 +110,12 @@ typedef enum {
 } 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 @@ void ldl_session_set_value(ldl_session_t *session, char *key, char *val);
   \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
index ff012fd030bfee6245cb7d6caed1018e358aa85a..d76279e20f266097ffb7c9554e242fb5db6503dd 100644 (file)
@@ -1565,7 +1565,7 @@ static switch_status_t channel_outgoing_channel(switch_core_session_t *session,
                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);