[asterisk-commits] russell: branch russell/chan_console r49078 - in /team/russell/chan_console: ...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Sat Dec 30 23:36:11 MST 2006


Author: russell
Date: Sun Dec 31 00:36:10 2006
New Revision: 49078

URL: http://svn.digium.com/view/asterisk?view=rev&rev=49078
Log:
Add support for setting default CallerID information.

Modified:
    team/russell/chan_console/channels/chan_console.c
    team/russell/chan_console/configs/console.conf.sample

Modified: team/russell/chan_console/channels/chan_console.c
URL: http://svn.digium.com/view/asterisk/team/russell/chan_console/channels/chan_console.c?view=diff&rev=49078&r1=49077&r2=49078
==============================================================================
--- team/russell/chan_console/channels/chan_console.c (original)
+++ team/russell/chan_console/channels/chan_console.c Sun Dec 31 00:36:10 2006
@@ -49,6 +49,7 @@
 #include "asterisk/causes.h"
 #include "asterisk/cli.h"
 #include "asterisk/musiconhold.h"
+#include "asterisk/callerid.h"
 
 #include "busy.h"
 #include "ringtone.h"
@@ -107,6 +108,10 @@
 	PaStream *stream;
 	/*! Name of the device */
 	const char *name;
+	/*! Default CallerID number */
+	char cid_num[256];
+	/*! Default CallerID name */
+	char cid_name[256];
 	/*! Default MOH class to listen to, if:
 	 *    - No MOH class set on the channel
 	 *    - Peer channel putting this device on hold did not suggest a class */
@@ -233,7 +238,7 @@
 {
 	struct ast_channel *chan;
 
-	if (!(chan = ast_channel_alloc(1, state, NULL, NULL, "Console/%s", pvt->name)))
+	if (!(chan = ast_channel_alloc(1, state, pvt->cid_num, pvt->cid_name, "Console/%s", pvt->name)))
 		return NULL;
 
 	chan->tech = &console_tech;
@@ -247,6 +252,14 @@
 		ast_copy_string(chan->exten, ext, sizeof(chan->exten));
 	if (!ast_strlen_zero(ctx))
 		ast_copy_string(chan->context, ctx, sizeof(chan->context));
+
+	/* Don't use ast_set_callerid() here because it will
+	 * generate a needless NewCallerID event */
+	chan->cid.cid_num = ast_strdup(pvt->cid_num);
+	chan->cid.cid_ani = ast_strdup(pvt->cid_num);
+	chan->cid.cid_name = ast_strdup(pvt->cid_name);
+	if (!ast_strlen_zero(ext))
+		chan->cid.cid_dnid = ast_strdup(ext);
 
 	ast_jb_configure(chan, &global_jbconf);
 
@@ -722,7 +735,10 @@
 			ast_copy_string(pvt.mohinterpret, v->value, sizeof(pvt.mohinterpret));
 		else if (!strcasecmp(v->name, "overridecontext"))
 			pvt.overridecontext = ast_true(v->value) ? 1 : 0;
-		else {
+		else if (!strcasecmp(v->name, "callerid")) {
+			ast_callerid_split(v->value, pvt.cid_name, sizeof(pvt.cid_name), 
+				pvt.cid_num, sizeof(pvt.cid_num));
+		} else {
 			ast_log(LOG_WARNING, "Unknown option '%s' on line '%d' of '%s'!\n",
 				v->name, v->lineno, CONFIG_FILE);
 		}

Modified: team/russell/chan_console/configs/console.conf.sample
URL: http://svn.digium.com/view/asterisk/team/russell/chan_console/configs/console.conf.sample?view=diff&rev=49078&r1=49077&r2=49078
==============================================================================
--- team/russell/chan_console/configs/console.conf.sample (original)
+++ team/russell/chan_console/configs/console.conf.sample Sun Dec 31 00:36:10 2006
@@ -3,6 +3,10 @@
 ;
 
 [general]
+
+; Set the default CallerID.
+; 
+; callerid=MyName Here <(256) 428-6000>
 
 ; If you set overridecontext to 'yes', then the whole dial string
 ; will be interpreted as an extension, which is extremely useful



More information about the asterisk-commits mailing list