(closes issue ASTERISK-23235)
Reported by: George Joseph
Review: https://reviewboard.asterisk.org/r/3324/
........
Merged revisions 410574 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@410575
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
* Exposed sorcery-based configuration files like pjsip.conf to dialplans via
the new AST_SORCERY diaplan function.
+res_pjsip
+------------------
+ * transport and endpoint ToS options (tos, tos_audio, and tos_video) may now
+ be set as the named set of ToS values (cs0-cs7, af11-af43, ef).
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 12.0.0 to Asterisk 12.1.0 ------------
# revision identifiers, used by Alembic.
revision = '4c573e7135bd'
-down_revision = '21e526ad3040'
+down_revision = '28887f25a46f'
from alembic import op
from alembic import context
*/
const char *ast_tos2str(unsigned int tos);
-/*!
- * \brief Convert a TOS value into its string representation
- * and create a dynamically allocated copy
- *
- * \param tos The TOS value to look up
- * \param buf pointer to character pointer where string will be duplicated to
- *
- * \note The string allocated at buf must be free'd
- */
-void ast_tos2str_buf(unsigned int tos, char **buf);
-
/*!
* \brief Retrieve a named ACL
*
return "unknown";
}
-void ast_tos2str_buf(unsigned int tos, char **buf)
-{
- const char *tos_string = ast_tos2str(tos);
- *buf = ast_strdup(tos_string);
-}
-
int ast_get_ip(struct ast_sockaddr *addr, const char *hostname)
{
return ast_get_ip_or_srv(addr, hostname, NULL);
static int tos_to_str(const void *obj, const intptr_t *args, char **buf)
{
const struct ast_sip_transport *transport = obj;
- ast_tos2str_buf(transport->tos, buf);
+
+ if (ast_asprintf(buf, "%d", transport->tos) == -1) {
+ return -1;
+ }
return 0;
}
pj_sockaddr_print(&transport->host, hoststr, sizeof(hoststr), 3);
- ast_str_append(&context->output_buffer, 0, "%*s: %-21s %6s %5x %5x %s\n",
+ ast_str_append(&context->output_buffer, 0, "%*s: %-21s %6s %5d %5d %s\n",
CLI_INDENT_TO_SPACES(context->indent_level), "Transport",
ast_sorcery_object_get_id(transport),
ARRAY_IN_BOUNDS(transport->type, transport_types) ? transport_types[transport->type] : "Unknown",
static int tos_audio_to_str(const void *obj, const intptr_t *args, char **buf)
{
const struct ast_sip_endpoint *endpoint = obj;
- ast_tos2str_buf(endpoint->media.tos_audio, buf);
+
+ if (ast_asprintf(buf, "%d", endpoint->media.tos_audio) == -1) {
+ return -1;
+ }
return 0;
}
static int tos_video_to_str(const void *obj, const intptr_t *args, char **buf)
{
const struct ast_sip_endpoint *endpoint = obj;
- ast_tos2str_buf(endpoint->media.tos_video, buf);
+
+ if (ast_asprintf(buf, "%d", endpoint->media.tos_video) == -1) {
+ return -1;
+ }
return 0;
}