From 80c9ad102e9d42f4918a4c33a712e60c24d89507 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Mon, 5 Aug 2013 19:01:45 +0000 Subject: Add AMI registration events for PJSIP outbound registration attempts This patch adds AMI events whenever an outbound registration attempt succeeds or fails from res_pjsip_outbound_registration. This brings it inline with the existing SIP channel driver and IAX channel driver. Review: https://reviewboard.asterisk.org/r/2729/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396201 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_pjsip_outbound_registration.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c index c104b3edf..d9c4f2bb5 100644 --- a/res/res_pjsip_outbound_registration.c +++ b/res/res_pjsip_outbound_registration.c @@ -31,6 +31,7 @@ #include "asterisk/module.h" #include "asterisk/taskprocessor.h" #include "asterisk/cli.h" +#include "asterisk/stasis_system.h" /*** DOCUMENTATION @@ -121,6 +122,14 @@ enum sip_outbound_registration_status { SIP_REGISTRATION_STOPPED, }; +static const char *sip_outbound_registration_status_str[] = { + [SIP_REGISTRATION_UNREGISTERED] = "Unregistered", + [SIP_REGISTRATION_REGISTERED] = "Registered", + [SIP_REGISTRATION_REJECTED_TEMPORARY] = "Rejected", + [SIP_REGISTRATION_REJECTED_PERMANENT] = "Rejected", + [SIP_REGISTRATION_STOPPED] = "Stopped", +}; + /*! \brief Outbound registration client state information (persists for lifetime of regc) */ struct sip_outbound_registration_client_state { /*! \brief Current status of this registration */ @@ -386,6 +395,8 @@ static int handle_registration_response(void *data) response->code, server_uri, client_uri); } + ast_system_publish_registry("PJSIP", client_uri, server_uri, sip_outbound_registration_status_str[response->client_state->status], NULL); + /* If deferred destruction is in use see if we need to destroy now */ if (response->client_state->destroy) { handle_client_state_destruction(response->client_state); -- cgit v1.2.3