diff options
author | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-11 13:54:00 +0000 |
---|---|---|
committer | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-11 13:54:00 +0000 |
commit | 9a38692d287bd24222083cbc34176391de60bde7 (patch) | |
tree | 49846b0745fb8955f9d7fdb5f9abac13612adc73 | |
parent | e059213d6ad4c50d6cc3ab4ec3985d4d0f719ecc (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.c | 3 | ||||
-rw-r--r-- | channels/chan_sip.c | 5 | ||||
-rw-r--r-- | configs/manager.conf.sample | 1 | ||||
-rw-r--r-- | configs/sip.conf.sample | 3 | ||||
-rw-r--r-- | doc/cliprompt.txt | 1 | ||||
-rw-r--r-- | manager.c | 9 |
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 @@ -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); |