summaryrefslogtreecommitdiff
path: root/channels/sip
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2012-02-08 21:28:55 +0000
committerTerry Wilson <twilson@digium.com>2012-02-08 21:28:55 +0000
commit3342183016a4dfb7dd0d2c950e51a021659f647b (patch)
treead7b19042306164249b6b1d8d462af7863025595 /channels/sip
parentf0e321b88ac5be7c36cbd5770886a43e33ee3525 (diff)
Add callbackextension matching & realtime callbackextensions
This patch is based on the one by David Vossel, developer extrodinaire, at https://reviewboard.asterisk.org/r/344/. If multiple peers are defined with the same host/port, but differing callbackextensions, it chooses the peer with the matching callbackextension. Since callbackextension creates an outbound registration with the callbackextension as the Contact address, matching an incoming request by that (in addition to the host/port) makes a lot of sense. This patch also adds support for callbackextension to realtime by querying all peers with callbackextensions on reload and adding registrations for them. (closes issue ASTERISK-13456) Review: https://reviewboard.asterisk.org/r/344/ Review: https://reviewboard.asterisk.org/r/1717/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sip')
-rw-r--r--channels/sip/include/sip.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h
index c9862bc84..d5de40d9c 100644
--- a/channels/sip/include/sip.h
+++ b/channels/sip/include/sip.h
@@ -1261,6 +1261,7 @@ struct sip_peer {
AST_STRING_FIELD(zone); /*!< Tonezone for this device */
AST_STRING_FIELD(record_on_feature); /*!< Feature to use when receiving INFO with record: on during a call */
AST_STRING_FIELD(record_off_feature); /*!< Feature to use when receiving INFO with record: off during a call */
+ AST_STRING_FIELD(callback); /*!< Callback extension */
);
struct sip_socket socket; /*!< Socket used for this peer */
enum sip_transport default_outbound_transport; /*!< Peer Registration may change the default outbound transport.
@@ -1345,7 +1346,7 @@ struct sip_peer {
* \todo Convert this to astobj2
*/
struct sip_registry {
- ASTOBJ_COMPONENTS_FULL(struct sip_registry,1,1);
+ ASTOBJ_COMPONENTS_FULL(struct sip_registry, 80, 1);
AST_DECLARE_STRING_FIELDS(
AST_STRING_FIELD(callid); /*!< Global Call-ID */
AST_STRING_FIELD(realm); /*!< Authorization realm */