mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Merge "res_pjsip.c: Register PJMEDIA error code decoder."
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include <pjsip/sip_transaction.h>
|
||||
#include <pj/timer.h>
|
||||
#include <pjlib.h>
|
||||
#include <pjmedia/errno.h>
|
||||
|
||||
#include "asterisk/res_pjsip.h"
|
||||
#include "res_pjsip/include/res_pjsip_private.h"
|
||||
@@ -4293,6 +4294,19 @@ error:
|
||||
return AST_MODULE_LOAD_DECLINE;
|
||||
}
|
||||
|
||||
/*
|
||||
* This is a place holder function to ensure that pjmedia_strerr() is at
|
||||
* least directly referenced by this module to ensure that the loader
|
||||
* linker will link to the function. If a module only indirectly
|
||||
* references a function from another module, such as a callback parameter
|
||||
* to a function, the loader linker has been known to miss the link.
|
||||
*/
|
||||
void never_called_res_pjsip(void);
|
||||
void never_called_res_pjsip(void)
|
||||
{
|
||||
pjmedia_strerror(0, NULL, 0);
|
||||
}
|
||||
|
||||
static int load_module(void)
|
||||
{
|
||||
struct ast_threadpool_options options;
|
||||
@@ -4308,6 +4322,12 @@ static int load_module(void)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Register PJMEDIA error codes for SDP parsing errors */
|
||||
if (pj_register_strerror(PJMEDIA_ERRNO_START, PJ_ERRNO_SPACE_SIZE, pjmedia_strerror)
|
||||
!= PJ_SUCCESS) {
|
||||
ast_log(LOG_WARNING, "Failed to register pjmedia error codes. Codes will not be decoded.\n");
|
||||
}
|
||||
|
||||
if (ast_sip_initialize_system()) {
|
||||
ast_log(LOG_ERROR, "Failed to initialize SIP 'system' configuration section. Aborting load\n");
|
||||
goto error;
|
||||
|
Reference in New Issue
Block a user