Skip to content
Snippets Groups Projects
Commit 3b8cec9d authored by Olle Johansson's avatar Olle Johansson
Browse files

Move global_regcontext into the sip_cfg structure

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@216834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 320b514b
No related branches found
No related tags found
No related merge requests found
......@@ -1183,6 +1183,7 @@ struct sip_settings {
int callevents; /*!< Whether we send manager events or not */
int regextenonqualify; /*!< Whether to add/remove regexten when qualifying peers */
int matchexterniplocally; /*!< Match externip/externhost setting against localnet setting */
char regcontext[AST_MAX_CONTEXT]; /*!< Context for auto-extensions */
unsigned int disallowed_methods; /*!< methods that we should never try to use */
int notifyringing; /*!< Send notifications on ringing */
int notifyhold; /*!< Send notifications on hold */
......@@ -1223,7 +1224,6 @@ static unsigned int global_cos_video; /*!< 802.1p class of service for video RT
static unsigned int global_cos_text; /*!< 802.1p class of service for text RTP packets */
static unsigned int recordhistory; /*!< Record SIP history. Off by default */
static unsigned int dumphistory; /*!< Dump history to verbose before destroying SIP dialog */
static char global_regcontext[AST_MAX_CONTEXT]; /*!< Context for auto-extensions */
static char global_useragent[AST_MAX_EXTENSION]; /*!< Useragent for the SIP channel */
static char global_sdpsession[AST_MAX_EXTENSION]; /*!< SDP session name for the SIP channel */
static char global_sdpowner[AST_MAX_EXTENSION]; /*!< SDP owner name for the SIP channel */
......@@ -4561,11 +4561,11 @@ static void register_peer_exten(struct sip_peer *peer, int onoff)
char *stringp, *ext, *context;
struct pbx_find_info q = { .stacklen = 0 };
 
/* XXX note that global_regcontext is both a global 'enable' flag and
/* XXX note that sip_cfg.regcontext is both a global 'enable' flag and
* the name of the global regexten context, if not specified
* individually.
*/
if (ast_strlen_zero(global_regcontext))
if (ast_strlen_zero(sip_cfg.regcontext))
return;
 
ast_copy_string(multi, S_OR(peer->regexten, peer->name), sizeof(multi));
......@@ -4578,7 +4578,7 @@ static void register_peer_exten(struct sip_peer *peer, int onoff)
continue;
}
} else {
context = global_regcontext;
context = sip_cfg.regcontext;
}
if (onoff) {
if (!ast_exists_extension(NULL, context, ext, 1, NULL)) {
......@@ -15640,7 +15640,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
ast_cli(fd, " Defaddr->IP : %s Port %d\n", ast_inet_ntoa(peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));
ast_cli(fd, " Prim.Transp. : %s\n", get_transport(peer->socket.type));
ast_cli(fd, " Allowed.Trsp : %s\n", get_transport_list(peer->transports));
if (!ast_strlen_zero(global_regcontext))
if (!ast_strlen_zero(sip_cfg.regcontext))
ast_cli(fd, " Reg. exten : %s\n", peer->regexten);
ast_cli(fd, " Def. Username: %s\n", peer->username);
ast_cli(fd, " SIP Options : ");
......@@ -15740,7 +15740,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct
astman_append(s, "Address-IP: %s\r\nAddress-Port: %d\r\n", peer->addr.sin_addr.s_addr ? ast_inet_ntoa(peer->addr.sin_addr) : "", ntohs(peer->addr.sin_port));
astman_append(s, "Default-addr-IP: %s\r\nDefault-addr-port: %d\r\n", ast_inet_ntoa(peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));
astman_append(s, "Default-Username: %s\r\n", peer->username);
if (!ast_strlen_zero(global_regcontext))
if (!ast_strlen_zero(sip_cfg.regcontext))
astman_append(s, "RegExtension: %s\r\n", peer->regexten);
astman_append(s, "Codecs: ");
ast_getformatname_multiple(codec_buf, sizeof(codec_buf) -1, peer->capability);
......@@ -16168,7 +16168,7 @@ static char *sip_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_
ast_cli(a->fd, " User Agent: %s\n", global_useragent);
ast_cli(a->fd, " SDP Session Name: %s\n", ast_strlen_zero(global_sdpsession) ? "-" : global_sdpsession);
ast_cli(a->fd, " SDP Owner Name: %s\n", ast_strlen_zero(global_sdpowner) ? "-" : global_sdpowner);
ast_cli(a->fd, " Reg. context: %s\n", S_OR(global_regcontext, "(not set)"));
ast_cli(a->fd, " Reg. context: %s\n", S_OR(sip_cfg.regcontext, "(not set)"));
ast_cli(a->fd, " Regexten on Qualify: %s\n", cli_yesno(sip_cfg.regextenonqualify));
ast_cli(a->fd, " Caller ID: %s\n", default_callerid);
ast_cli(a->fd, " From: Domain: %s\n", default_fromdomain);
......@@ -24760,8 +24760,8 @@ static int reload_config(enum channelreloadreason reason)
default_tls_cfg.cafile = ast_strdup("");
default_tls_cfg.capath = ast_strdup("");
 
/* Initialize copy of current global_regcontext for later use in removing stale contexts */
ast_copy_string(oldcontexts, global_regcontext, sizeof(oldcontexts));
/* Initialize copy of current sip_cfg.regcontext for later use in removing stale contexts */
ast_copy_string(oldcontexts, sip_cfg.regcontext, sizeof(oldcontexts));
oldregcontext = oldcontexts;
 
/* Clear all flags before setting default values */
......@@ -24805,7 +24805,7 @@ static int reload_config(enum channelreloadreason reason)
 
/* Reset channel settings to default before re-configuring */
sip_cfg.allow_external_domains = DEFAULT_ALLOW_EXT_DOM; /* Allow external invites */
global_regcontext[0] = '\0';
sip_cfg.regcontext[0] = '\0';
sip_cfg.regextenonqualify = DEFAULT_REGEXTENONQUALIFY;
sip_cfg.notifyringing = DEFAULT_NOTIFYRINGING;
sip_cfg.notifycid = DEFAULT_NOTIFYCID;
......@@ -25046,7 +25046,7 @@ static int reload_config(enum channelreloadreason reason)
ast_copy_string(used_context, context, sizeof(used_context));
ast_context_find_or_create(NULL, NULL, context, "SIP");
}
ast_copy_string(global_regcontext, v->value, sizeof(global_regcontext));
ast_copy_string(sip_cfg.regcontext, v->value, sizeof(sip_cfg.regcontext));
} else if (!strcasecmp(v->name, "regextenonqualify")) {
sip_cfg.regextenonqualify = ast_true(v->value);
} else if (!strcasecmp(v->name, "callerid")) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment