mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	PJSIP: TOS values should be represented as decimals in sorcery objects
(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
This commit is contained in:
		
							
								
								
									
										4
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								CHANGES
									
									
									
									
									
								
							| @@ -103,6 +103,10 @@ Core | ||||
|  * 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 ------------ | ||||
|   | ||||
| @@ -8,7 +8,7 @@ Create Date: 2014-03-05 12:16:56.618630 | ||||
|  | ||||
| # revision identifiers, used by Alembic. | ||||
| revision = '4c573e7135bd' | ||||
| down_revision = '21e526ad3040' | ||||
| down_revision = '28887f25a46f' | ||||
|  | ||||
| from alembic import op | ||||
| from alembic import context | ||||
|   | ||||
| @@ -357,17 +357,6 @@ int ast_str2tos(const char *value, unsigned int *tos); | ||||
|  */ | ||||
| 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 | ||||
|  * | ||||
|   | ||||
| @@ -894,12 +894,6 @@ const char *ast_tos2str(unsigned int tos) | ||||
| 	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); | ||||
|   | ||||
| @@ -502,7 +502,10 @@ static int transport_tos_handler(const struct aco_option *opt, struct ast_variab | ||||
| 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; | ||||
| } | ||||
|  | ||||
| @@ -574,7 +577,7 @@ static int cli_print_body(void *obj, void *arg, int flags) | ||||
|  | ||||
| 	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", | ||||
|   | ||||
| @@ -786,14 +786,20 @@ static int tos_handler(const struct aco_option *opt, | ||||
| 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; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user