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;