sip config parsing functions and unit tests More...
#include "asterisk.h"
#include "include/sip.h"
#include "include/config_parser.h"
#include "include/sip_utils.h"
Go to the source code of this file.
Functions | |
AST_TEST_DEFINE (sip_parse_register_line_test) | |
AST_TEST_DEFINE (sip_parse_host_line_test) | |
void | sip_config_parser_register_tests (void) |
SIP test registration. More... | |
void | sip_config_parser_unregister_tests (void) |
SIP test registration. More... | |
int | sip_parse_host (char *line, int lineno, char **hostname, int *portnum, enum sip_transport *transport) |
int | sip_parse_register_line (struct sip_registry *reg, int default_expiry, const char *value, int lineno) |
Parse register=> line in sip.conf. More... | |
sip config parsing functions and unit tests
Definition in file config_parser.c.
AST_TEST_DEFINE | ( | sip_parse_register_line_test | ) |
Definition at line 274 of file config_parser.c.
References ast_calloc_with_stringfields, ast_free, ast_string_field_free_memory, AST_TEST_FAIL, AST_TEST_NOT_RUN, AST_TEST_PASS, ast_test_status_update, default_expiry, FALSE, sip_parse_register_line(), TEST_EXECUTE, and TEST_INIT.
AST_TEST_DEFINE | ( | sip_parse_host_line_test | ) |
Definition at line 708 of file config_parser.c.
References ast_strlen_zero(), AST_TEST_FAIL, AST_TEST_NOT_RUN, AST_TEST_PASS, ast_test_status_update, sip_parse_host(), TEST_EXECUTE, and TEST_INIT.
void sip_config_parser_register_tests | ( | void | ) |
SIP test registration.
Definition at line 789 of file config_parser.c.
References AST_TEST_REGISTER.
Referenced by sip_register_tests().
void sip_config_parser_unregister_tests | ( | void | ) |
SIP test registration.
Definition at line 796 of file config_parser.c.
References AST_TEST_UNREGISTER.
Referenced by sip_unregister_tests().
int sip_parse_host | ( | char * | line, |
int | lineno, | ||
char ** | hostname, | ||
int * | portnum, | ||
enum sip_transport * | transport | ||
) |
Definition at line 644 of file config_parser.c.
References ast_log(), ast_sockaddr_split_hostport(), ast_strlen_zero(), hostname, LOG_NOTICE, and LOG_WARNING.
Referenced by AST_TEST_DEFINE(), and proxy_from_config().
int sip_parse_register_line | ( | struct sip_registry * | reg, |
int | default_expiry, | ||
const char * | value, | ||
int | lineno | ||
) |
Parse register=> line in sip.conf.
0 | on success |
-1 | on failure |
register => [peer?][transport://]user[][:secret[:authuser]][:port][/extension][~expiry] becomes userpart => [peer?][transport://]user[][:secret[:authuser]] hostpart => host[:port][/extension][~expiry]
pre1.peer => peer pre1.userpart => [transport://]user[][:secret[:authuser]] hostpart => host[:port][/extension][~expiry]
pre1.peer => peer pre2.transport = transport pre2.userpart => user[][:secret[:authuser]] hostpart => host[:port][/extension][~expiry]
pre1.peer => peer pre2.transport = transport user1.userpart => user[] user1.secret => secret user1.authuser => authuser hostpart => host[:port][/extension][~expiry]
pre1.peer => peer pre2.transport = transport user1.userpart => user[] user1.secret => secret user1.authuser => authuser host1.hostpart => host[:port][/extension] host1.expiry => [expiry]
pre1.peer => peer pre2.transport = transport user1.userpart => user[] user1.secret => secret user1.authuser => authuser host2.hostpart => host[:port] host2.extension => [extension] host1.expiry => [expiry]
pre1.peer => peer pre2.transport = transport user1.userpart => user[] user1.secret => secret user1.authuser => authuser host3.host => host host3.port => port host2.extension => extension host1.expiry => expiry
pre1.peer => peer pre2.transport = transport user2.user => user user2.domain => domain user1.secret => secret user1.authuser => authuser host3.host => host host3.port => port host2.extension => extension host1.expiry => expiry
pre1.peer => peer pre2.transport = transport user2.user => user user2.domain => domain user1.secret => secret user3.authuser => authuser user3.domainport => domainport host3.host => host host3.port => port host2.extension => extension host1.expiry => expiry
Definition at line 39 of file config_parser.c.
References AST_APP_ARG, ast_copy_string(), AST_DECLARE_APP_ARGS, ast_log(), AST_NONSTANDARD_RAW_ARGS, ast_string_field_set, ast_strip_quoted(), ast_strlen_zero(), default_expiry, FALSE, hostname, LOG_NOTICE, LOG_WARNING, port_str2int(), S_OR, and secret.
Referenced by AST_TEST_DEFINE(), and sip_register().