diff --git a/apps/app_agent_pool.c b/apps/app_agent_pool.c
index 11098b5ebe..b59beb1300 100644
--- a/apps/app_agent_pool.c
+++ b/apps/app_agent_pool.c
@@ -218,11 +218,11 @@
Present if Status value is AGENT_ONCALL.
- Epoche time when the agent started talking with the caller.
+ Epoch time when the agent started talking with the caller.
Present if Status value is AGENT_ONCALL.
- Epoche time when the agent logged in.
+ Epoch time when the agent logged in.
Present if Status value is AGENT_IDLE or AGENT_ONCALL.
diff --git a/main/stasis_bridges.c b/main/stasis_bridges.c
index b9c76bee9d..b03724b832 100644
--- a/main/stasis_bridges.c
+++ b/main/stasis_bridges.c
@@ -122,6 +122,7 @@
This header is only present when DestType is Threeway
+
The headers in this event attempt to describe all the major details of the attended transfer. The two transferer channels
diff --git a/main/stasis_channels.c b/main/stasis_channels.c
index 46a9d4536b..b7618a2d29 100644
--- a/main/stasis_channels.c
+++ b/main/stasis_channels.c
@@ -86,7 +86,10 @@
Raised when an Agent has logged off.
-
+
+
+ Agent ID of the agent.
+
The number of seconds the agent was logged in.
diff --git a/res/res_pjsip/pjsip_configuration.c b/res/res_pjsip/pjsip_configuration.c
index 03c4aad9eb..c2d78dfa34 100644
--- a/res/res_pjsip/pjsip_configuration.c
+++ b/res/res_pjsip/pjsip_configuration.c
@@ -567,7 +567,7 @@ static int media_address_to_str(const void *obj, const intptr_t *args, char **bu
return 0;
}
-static int redirect_handler(const struct aco_option *opt, struct ast_variable *var, void *obj)
+static int redirect_method_handler(const struct aco_option *opt, struct ast_variable *var, void *obj)
{
struct ast_sip_endpoint *endpoint = obj;
@@ -586,6 +586,21 @@ static int redirect_handler(const struct aco_option *opt, struct ast_variable *v
return 0;
}
+static const char *redirect_method_map[] = {
+ [AST_SIP_REDIRECT_USER] = "user",
+ [AST_SIP_REDIRECT_URI_CORE] = "uri_core",
+ [AST_SIP_REDIRECT_URI_PJSIP] = "uri_pjsip",
+};
+
+static int redirect_method_to_str(const void *obj, const intptr_t *args, char **buf)
+{
+ const struct ast_sip_endpoint *endpoint = obj;
+ if (ARRAY_IN_BOUNDS(endpoint->redirect_method, redirect_method_map)) {
+ *buf = ast_strdup(redirect_method_map[endpoint->redirect_method]);
+ }
+ return 0;
+}
+
static int direct_media_method_handler(const struct aco_option *opt, struct ast_variable *var, void *obj)
{
struct ast_sip_endpoint *endpoint = obj;
@@ -2250,7 +2265,7 @@ int ast_res_pjsip_initialize_configuration(void)
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "srtp_tag_32", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.rtp.srtp_tag_32));
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "media_encryption_optimistic", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.rtp.encryption_optimistic));
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "g726_non_standard", "no", OPT_BOOL_T, 1, FLDSET(struct ast_sip_endpoint, media.g726_non_standard));
- ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "redirect_method", "user", redirect_handler, NULL, NULL, 0, 0);
+ ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "redirect_method", "user", redirect_method_handler, redirect_method_to_str, NULL, 0, 0);
ast_sorcery_object_field_register_custom(sip_sorcery, "endpoint", "set_var", "", set_var_handler, set_var_to_str, set_var_to_vl, 0, 0);
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "message_context", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, message_context));
ast_sorcery_object_field_register(sip_sorcery, "endpoint", "accountcode", "", OPT_STRINGFIELD_T, 0, STRFLDSET(struct ast_sip_endpoint, accountcode));
diff --git a/res/res_pjsip/pjsip_manager.xml b/res/res_pjsip/pjsip_manager.xml
index 3906402b26..9f2cf634c5 100644
--- a/res/res_pjsip/pjsip_manager.xml
+++ b/res/res_pjsip/pjsip_manager.xml
@@ -45,6 +45,9 @@
+
+
+
The name of the endpoint associated with this information.
@@ -98,6 +101,18 @@
+
+
+
+
+
+
+
+
+
+
+ A comma-separated list of contacts associated with this AoR.
+
The total number of contacts associated with this AoR.
@@ -144,6 +159,24 @@
The name of the endpoint associated with this information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -223,6 +256,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The name of the endpoint associated with this information.
@@ -245,9 +299,6 @@
-
-
-
@@ -524,12 +575,138 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -558,6 +735,12 @@
+
+
+
+
+
+
@@ -573,12 +756,18 @@
+
+
+
+
+ A comma-separated list of contacts associated with this AoR.
+
@@ -613,6 +802,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -687,6 +894,10 @@
The round trip time in microseconds.
+
+ A boolean indicating whether to only consider a contact
+ available if the OPTIONS response has a 2xx status code.
+
@@ -751,6 +962,10 @@
The elapsed time in decimal seconds after which an OPTIONS
message is sent before the contact is considered unavailable.
+
+ Only consider a contact available if the OPTIONS response
+ has a 2xx status code.
+
@@ -785,6 +1000,9 @@
The number of active channels associated with this endpoint.
+
+ A comma-separated list of contacts associated with this AoR.
+
diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c
index 8b4c2f08f4..eeeedd8650 100644
--- a/res/res_pjsip_outbound_registration.c
+++ b/res/res_pjsip_outbound_registration.c
@@ -337,6 +337,96 @@
+
+
+
+ 12.0.0
+
+
+ Provides configuration details and status information about an
+ outbound registration.
+
+
+
+ The object's type. This will always be 'registration'.
+
+
+ The name of this object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The current status of this registration. Will be one of:
+
+
+
+
+
+
+
+ The number of seconds until the next registration.
+
+
+
+
***/
/* forward declarations */
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index 5f77290fa6..e8efb8a218 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -54,7 +54,7 @@
12.0.0
- Lists subscriptions.
+ Lists inbound subscriptions.
@@ -65,12 +65,80 @@
+
+
+
+ 12.0.0
+
+
+ Provides details about an inbound subscription - one in which Asterisk
+ handles SUBSCRIBE requests and periodically sends NOTIFYs to its
+ subscribers.
+
+
+
+ Asterisk's role for this subscription. This will always be
+ Notifier.
+
+
+ The name of the endpoint associated with this
+ subscription.
+
+
+ The CallID of the dialog associated with this
+ subscription.
+
+
+ The current state of the subscription.
+
+
+ The Caller ID of the endpoint associated with this
+ subscription.
+
+
+ Asterisk currently supports the following subscription types, but
+ this could also be extended by third-party modules so this list may not
+ be exhaustive:
+
+
+
+
+
+
+ If the SubscriptionType is
+ extension_state this will be the monitored
+ extension.
+
+
+ If the SubscriptionType is
+ extension_state this will be the monitored
+ extension's state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If the SubscriptionType is
+ mwi this will be a comma-separated list of
+ mailboxes.
+
+
+
+
12.0.0
- Lists subscriptions.
+ Lists outbound subscriptions.
@@ -81,6 +149,73 @@
+
+
+
+ 12.0.0
+
+
+ Provides details about an outbound subscription - one in which Asterisk
+ sends SUBSCRIBE requests and periodically receives NOTIFYs.
+
+
+
+ Asterisk's role for this subscription. This will always be
+ Subscriber.
+
+
+ The name of the endpoint associated with this
+ subscription.
+
+
+ The CallID of the dialog associated with this
+ subscription.
+
+
+ The current state of the subscription.
+
+
+ The Caller ID of the endpoint associated with this
+ subscription.
+
+
+ Asterisk currently supports the following subscription types, but
+ this could also be extended by third-party modules so this list may not
+ be exhaustive:
+
+
+
+
+
+
+ If the SubscriptionType is
+ extension_state this will be the monitored
+ extension.
+
+
+ If the SubscriptionType is
+ extension_state this will be the monitored
+ extension's state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If the SubscriptionType is
+ mwi this will be a comma-separated list of
+ mailboxes.
+
+
+
+
13.0.0
@@ -97,6 +232,37 @@
+
+
+
+ 13.0.0
+
+ Provides details about a resource list.
+
+
+ The object's type. This will always be 'resource_list'.
+
+
+ The name of this object.
+
+
+
+
+
+
+
+
+ A comma-separated list of resources that belong to this resource list.
+
+
+
+
+
+
+
+
+
+
Module that implements publish and subscribe support.
diff --git a/res/res_pjsip_registrar.c b/res/res_pjsip_registrar.c
index 9f12d5bf70..1297a86393 100644
--- a/res/res_pjsip_registrar.c
+++ b/res/res_pjsip_registrar.c
@@ -82,6 +82,71 @@
+
+
+
+ 12.0.0
+
+ Provide details about the Address of Record (AoR) associated
+ with a registration.
+
+
+ The object's type. This will always be 'aor'.
+
+
+ The name of this object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A comma-separated list of contacts associated with this AoR.
+
+
+ The specific contact associated with this registration.
+
+
+
+
***/
static int pj_max_hostname = PJ_MAX_HOSTNAME;