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/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin Harwell
2013-11-23 17:14:22 +00:00
parent 22f800d14e
commit 24568ea6c9
22 changed files with 1871 additions and 123 deletions

View File

@@ -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.
*/