summaryrefslogtreecommitdiff
path: root/res/res_pjsip/location.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-12-01 19:58:08 +0000
committerJoshua Colp <jcolp@digium.com>2013-12-01 19:58:08 +0000
commit0620cc0c0049993df6521420d3a6f9b2933aaa55 (patch)
tree293542a1b5aa293cccd7c318216f76752bdd57ea /res/res_pjsip/location.c
parente93fbf41e639bc1d3b17c81dab4a3c0812124dcc (diff)
res_pjsip_transport_websocket: Fix security events and simplify implementation.
Transport type determination for security events has been simplified to use the type present on the message itself instead of searching through configured transports to find the transport used. The actual WebSocket transport has also been simplified. It now leverages the existing PJSIP transport manager for finding the active WebSocket transport for outgoing messages. This removes the need for res_pjsip_transport_websocket to store a mapping itself. (closes issue ASTERISK-22897) Reported by: Max E. Reyes Vera J. Review: https://reviewboard.asterisk.org/r/3036/ ........ Merged revisions 403256 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip/location.c')
-rw-r--r--res/res_pjsip/location.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/res/res_pjsip/location.c b/res/res_pjsip/location.c
index 7f4889fe8..14f58552a 100644
--- a/res/res_pjsip/location.c
+++ b/res/res_pjsip/location.c
@@ -26,9 +26,6 @@
#include "asterisk/sorcery.h"
#include "include/res_pjsip_private.h"
-#define CONTACT_TRANSPORTS_BUCKETS 7
-static struct ao2_container *contact_transports;
-
/*! \brief Destructor for AOR */
static void aor_destroy(void *obj)
{
@@ -74,48 +71,6 @@ static void *contact_alloc(const char *name)
return contact;
}
-/*! \brief Callback function for finding a contact_transport by URI */
-static int contact_transport_find_by_uri(void *obj, void *arg, int flags)
-{
- struct ast_sip_contact_transport *ct = obj;
- const char *contact_uri = arg;
-
- return (!strcmp(ct->uri, contact_uri)) ? CMP_MATCH | CMP_STOP : 0;
-}
-
-/*! \brief Callback function for finding a contact_transport by transport */
-static int contact_transport_find_by_transport(void *obj, void *arg, int flags)
-{
- struct ast_sip_contact_transport *ct = obj;
- pjsip_transport *transport = arg;
-
- return (ct->transport == transport) ? CMP_MATCH | CMP_STOP : 0;
-}
-
-void ast_sip_location_add_contact_transport(struct ast_sip_contact_transport *ct)
-{
- ao2_link(contact_transports, ct);
-
- return;
-}
-
-void ast_sip_location_delete_contact_transport(struct ast_sip_contact_transport *ct)
-{
- ao2_unlink(contact_transports, ct);
-
- return;
-}
-
-struct ast_sip_contact_transport *ast_sip_location_retrieve_contact_transport_by_uri(const char *contact_uri)
-{
- return ao2_callback(contact_transports, 0, contact_transport_find_by_uri, (void *)contact_uri);
-}
-
-struct ast_sip_contact_transport *ast_sip_location_retrieve_contact_transport_by_transport(pjsip_transport *transport)
-{
- return ao2_callback(contact_transports, 0, contact_transport_find_by_transport, transport);
-}
-
struct ast_sip_aor *ast_sip_location_retrieve_aor(const char *aor_name)
{
return ast_sorcery_retrieve_by_id(ast_sip_get_sorcery(), "aor", aor_name);
@@ -449,16 +404,3 @@ int ast_sip_initialize_sorcery_location(struct ast_sorcery *sorcery)
return 0;
}
-int ast_res_pjsip_init_contact_transports(void)
-{
- if (contact_transports) {
- ao2_t_ref(contact_transports, -1, "Remove old contact transports");
- }
-
- contact_transports = ao2_t_container_alloc_options(AO2_ALLOC_OPT_LOCK_RWLOCK, CONTACT_TRANSPORTS_BUCKETS, NULL, NULL, "Create container for contact transports");
- if (!contact_transports) {
- return -1;
- }
-
- return 0;
-}