diff options
author | Kevin Harwell <kharwell@digium.com> | 2013-11-23 17:26:57 +0000 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2013-11-23 17:26:57 +0000 |
commit | 05cbf8df9b2ea0b41e049698b9f51ee4365ceab0 (patch) | |
tree | 896d138372ec9fc2f443374c6f200a0f67725fbb /main | |
parent | 14a74529344ef5229f100c81bc969f34e27112b3 (diff) |
res_pjsip: AMI commands and events.
Created the following AMI commands and corresponding events for res_pjsip:
PJSIPShowEndpoints - Provides a listing of all pjsip endpoints and a few
select attributes on each.
Events:
EndpointList - for each endpoint a few attributes.
EndpointlistComplete - after all endpoints have been listed.
PJSIPShowEndpoint - Provides a detail list of attributes for a specified
endpoint.
Events:
EndpointDetail - attributes on an endpoint.
AorDetail - raised for each AOR on an endpoint.
AuthDetail - raised for each associated inbound and outbound auth
TransportDetail - transport attributes.
IdentifyDetail - attributes for the identify object associated with
the endpoint.
EndpointDetailComplete - last event raised after all detail events.
PJSIPShowRegistrationsInbound - Provides a detail listing of all inbound
registrations.
Events:
InboundRegistrationDetail - inbound registration attributes for each
registration.
InboundRegistrationDetailComplete - raised after all detail records have
been listed.
PJSIPShowRegistrationsOutbound - Provides a detail listing of all outbound
registrations.
Events:
OutboundRegistrationDetail - outbound registration attributes for each
registration.
OutboundRegistrationDetailComplete - raised after all detail records
have been listed.
PJSIPShowSubscriptionsInbound - A detail listing of all inbound subscriptions
and their attributes.
Events:
SubscriptionDetail - on each subscription detailed attributes
SubscriptionDetailComplete - raised after all detail records have
been listed.
PJSIPShowSubscriptionsOutbound - A detail listing of all outboundbound
subscriptions and their attributes.
Events:
SubscriptionDetail - on each subscription detailed attributes
SubscriptionDetailComplete - raised after all detail records have
been listed.
(issue ASTERISK-22609)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2959/
........
Merged revisions 403131 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/acl.c | 13 | ||||
-rw-r--r-- | main/sorcery.c | 3 | ||||
-rw-r--r-- | main/utils.c | 25 |
3 files changed, 35 insertions, 6 deletions
diff --git a/main/acl.c b/main/acl.c index a4567beda..c341125fd 100644 --- a/main/acl.c +++ b/main/acl.c @@ -664,6 +664,19 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha return ret; } +void ast_ha_join(const struct ast_ha *ha, struct ast_str **buf) +{ + for (; ha; ha = ha->next) { + const char *addr = ast_strdupa(ast_sockaddr_stringify_addr(&ha->addr)); + ast_str_append(buf, 0, "%s%s/%s", + ha->sense == AST_SENSE_ALLOW ? "!" : "", + addr, ast_sockaddr_stringify_addr(&ha->netmask)); + if (ha->next) { + ast_str_append(buf, 0, ","); + } + } +} + enum ast_acl_sense ast_apply_acl(struct ast_acl_list *acl_list, const struct ast_sockaddr *addr, const char *purpose) { struct ast_acl *acl; diff --git a/main/sorcery.c b/main/sorcery.c index 3b58188da..99ee2a90e 100644 --- a/main/sorcery.c +++ b/main/sorcery.c @@ -52,9 +52,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") /*! \brief Number of buckets for types (should be prime for performance reasons) */ #define TYPE_BUCKETS 53 -/*! \brief Maximum length of an object field name */ -#define MAX_OBJECT_FIELD 128 - /*! \brief Thread pool for observers */ static struct ast_threadpool *threadpool; diff --git a/main/utils.c b/main/utils.c index 8252488a9..b1a95425c 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1707,7 +1707,7 @@ char *ast_process_quotes_and_slashes(char *start, char find, char replace_with) return dataPut; } -void ast_join(char *s, size_t len, const char * const w[]) +void ast_join_delim(char *s, size_t len, const char * const w[], unsigned int size, char delim) { int x, ofs = 0; const char *src; @@ -1715,9 +1715,9 @@ void ast_join(char *s, size_t len, const char * const w[]) /* Join words into a string */ if (!s) return; - for (x = 0; ofs < len && w[x]; x++) { + for (x = 0; ofs < len && w[x] && x < size; x++) { if (x > 0) - s[ofs++] = ' '; + s[ofs++] = delim; for (src = w[x]; *src && ofs < len; src++) s[ofs++] = *src; } @@ -1726,6 +1726,25 @@ void ast_join(char *s, size_t len, const char * const w[]) s[ofs] = '\0'; } +char *ast_to_camel_case_delim(const char *s, const char *delim) +{ + char *res = ast_strdup(s); + char *front, *back, *buf = res; + int size; + + front = strtok_r(buf, delim, &back); + + while (front) { + size = strlen(front); + *front = toupper(*front); + ast_copy_string(buf, front, size + 1); + buf += size; + front = strtok_r(NULL, delim, &back); + } + + return res; +} + /* * stringfields support routines. */ |