aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-11 13:54:00 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-11 13:54:00 +0000
commit9a38692d287bd24222083cbc34176391de60bde7 (patch)
tree49846b0745fb8955f9d7fdb5f9abac13612adc73
parente059213d6ad4c50d6cc3ab4ec3985d4d0f719ecc (diff)
- Use systemname for realm in sip, if we have no configuration for realm
- Optionally send systemname in manager (cool when you have a manager proxy) - Use systemname in CLI prompt git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26884 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--asterisk.c3
-rw-r--r--channels/chan_sip.c5
-rw-r--r--configs/manager.conf.sample1
-rw-r--r--configs/sip.conf.sample3
-rw-r--r--doc/cliprompt.txt1
-rw-r--r--manager.c9
6 files changed, 20 insertions, 2 deletions
diff --git a/asterisk.c b/asterisk.c
index 3704a9f31..93eab8a43 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -1644,6 +1644,9 @@ static char *cli_prompt(EditLine *el)
}
break;
#endif
+ case 's': /* Asterisk system name (from asterisk.conf) */
+ strncat(p, ast_config_AST_SYSTEM_NAME, sizeof(prompt) - strlen(prompt) - 1);
+ break;
case 't': /* time */
memset(&tm, 0, sizeof(tm));
time(&ts);
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 0ed91d84c..2b51265d8 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13260,7 +13260,10 @@ static int reload_config(enum channelreloadreason reason)
global_allowsubscribe = FALSE;
ast_copy_string(global_useragent, DEFAULT_USERAGENT, sizeof(global_useragent));
ast_copy_string(default_notifymime, DEFAULT_NOTIFYMIME, sizeof(default_notifymime));
- ast_copy_string(global_realm, DEFAULT_REALM, sizeof(global_realm));
+ if (ast_strlen_zero(ast_config_AST_SYSTEM_NAME))
+ ast_copy_string(global_realm, DEFAULT_REALM, sizeof(global_realm));
+ else
+ ast_copy_string(global_realm, ast_config_AST_SYSTEM_NAME, sizeof(global_realm));
ast_copy_string(default_callerid, DEFAULT_CALLERID, sizeof(default_callerid));
compactheaders = DEFAULT_COMPACTHEADERS;
global_reg_timeout = DEFAULT_REGISTRATION_TIMEOUT;
diff --git a/configs/manager.conf.sample b/configs/manager.conf.sample
index 1db1ef4cc..02f9e41ec 100644
--- a/configs/manager.conf.sample
+++ b/configs/manager.conf.sample
@@ -21,6 +21,7 @@
; default is 60 seconds.
;
[general]
+displaysystemname = yes
enabled = no
;webenabled = yes
port = 5038
diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample
index d44b3c500..c4cbf0e66 100644
--- a/configs/sip.conf.sample
+++ b/configs/sip.conf.sample
@@ -32,7 +32,8 @@ allowoverlap=no ; Disable overlap dialing support. (Default is yes)
;allowtransfer=no ; Disable all transfers (unless enabled in peers or users)
; Default is enabled
;realm=mydomain.tld ; Realm for digest authentication
- ; defaults to "asterisk"
+ ; defaults to "asterisk". If you set a system name in
+ ; asterisk.conf, it defaults to that system name
; Realms MUST be globally unique according to RFC 3261
; Set this to your host name or domain name
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
diff --git a/doc/cliprompt.txt b/doc/cliprompt.txt
index 281d3df5f..fbd7dd99f 100644
--- a/doc/cliprompt.txt
+++ b/doc/cliprompt.txt
@@ -8,6 +8,7 @@ You may include the following variables, that will be replaced by
the current value by Asterisk:
%d Date (year-month-date)
+%s Asterisk system name (from asterisk.conf)
%h Full hostname
%H Short hostname
%t Time
diff --git a/manager.c b/manager.c
index d096c0689..0a6b79469 100644
--- a/manager.c
+++ b/manager.c
@@ -158,6 +158,7 @@ static struct mansession {
char inbuf[AST_MAX_MANHEADER_LEN];
int inlen;
int send_events;
+ int displaysystemname; /*!< Add system name to manager responses and events */
/* Queued events that we've not had the ability to send yet */
struct eventqent *eventq;
/* Timeout for ast_carefulwrite() */
@@ -772,6 +773,14 @@ static int authenticate(struct mansession *s, struct message *m)
while (v) {
if (!strcasecmp(v->name, "secret")) {
password = v->value;
+ } else if (!strcasecmp(v->name, "displaysystemname")) {
+ if (ast_true(v->value)) {
+ if (ast_strlen_zero(ast_config_AST_SYSTEM_NAME)) {
+ s->displaysystemname = 1;
+ } else {
+ ast_log(LOG_ERROR, "Can't enable displaysystemname in manager.conf - no system name configured in asterisk.conf\n");
+ }
+ }
} else if (!strcasecmp(v->name, "permit") ||
!strcasecmp(v->name, "deny")) {
ha = ast_append_ha(v->name, v->value, ha);