From: Russell Bryant Date: Mon, 21 Nov 2005 01:11:40 +0000 (+0000) Subject: issue #5800 X-Git-Tag: 1.4.0-beta1~3278 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cb060d80f458a1bdc598b8c4fef319c13de2619;p=thirdparty%2Fasterisk.git issue #5800 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7158 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/ChangeLog b/ChangeLog index 9cd3bbe710..e0b6eda967 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2005-11-20 Russell Bryant + * channels/chan_oss.c configs/oss.conf.sample: Add the ability to set callerid in oss.conf. + * channels/chan_sip.c channels/chan_iax2.c: Change warning messages about the number of scheduled events happening all at once to debug messages. (issue #5794) 2005-11-20 Josh Roberson diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 913c46c4eb..b44cacb3e9 100755 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -55,6 +55,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/lock.h" #include "asterisk/frame.h" #include "asterisk/logger.h" +#include "asterisk/callerid.h" /* for ast_callerid_split() */ #include "asterisk/channel.h" #include "asterisk/module.h" #include "asterisk/options.h" @@ -284,6 +285,8 @@ struct chan_oss_pvt { char ext[AST_MAX_EXTENSION]; char ctx[AST_MAX_CONTEXT]; char language[MAX_LANGUAGE]; + char cid_name[256]; /*XXX */ + char cid_num[256]; /*XXX */ /* buffers used in oss_write */ char oss_write_buf[FRAME_SIZE*2]; @@ -892,6 +895,10 @@ static struct ast_channel *oss_new(struct chan_oss_pvt *o, ast_copy_string(c->exten, ext, sizeof(c->exten)); if (!ast_strlen_zero(o->language)) ast_copy_string(c->language, o->language, sizeof(c->language)); + if (!ast_strlen_zero(o->cid_num)) + c->cid.cid_num = strdup(o->cid_num); + if (!ast_strlen_zero(o->cid_name)) + c->cid.cid_name = strdup(o->cid_name); o->owner = c; ast_setstate(c, state); @@ -1274,6 +1281,14 @@ static void store_mixer(struct chan_oss_pvt *o, char *s) ast_log(LOG_WARNING, "setting mixer %s\n", s); } +/* + * store the callerid components + */ +static void store_callerid(struct chan_oss_pvt *o, char *s) +{ + ast_callerid_split(s, o->cid_name, sizeof(o->cid_name), o->cid_num, sizeof(o->cid_num)); +} + /* * grab fields from the config file, init the descriptor and open the device. */ @@ -1315,6 +1330,7 @@ static struct chan_oss_pvt * store_config(struct ast_config *cfg, char *ctg) M_STR("language", o->language) M_STR("extension", o->ext) M_F("mixer", store_mixer(o, v->value)) + M_F("callerid", store_callerid(o, v->value)) M_END(;); } if (ast_strlen_zero(o->device)) diff --git a/configs/oss.conf.sample b/configs/oss.conf.sample index 148a2a656a..3b268425a8 100755 --- a/configs/oss.conf.sample +++ b/configs/oss.conf.sample @@ -25,6 +25,10 @@ extension=s ; ;language=en ; +; CallerID for outbound calls +; +;callerid=John Doe <1234> +; ; Silence supression can be enabled when sound is over a certain threshold. ; The value for the threshold should probably be between 500 and 2000 or so, ; but your mileage may vary. Use the echo test to evaluate the best setting.