aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_h323.c
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-12-16 02:03:19 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-12-16 02:03:19 +0000
commitc704778e2b97cac971e6c1041256c4561130ffde (patch)
treeade1d109249d2c2274261d9b1f5175b7425b1bd8 /channels/chan_h323.c
parentd405f48268f1722f7b52ae79007b817b5b4e6835 (diff)
Properly deal with Caller*ID, document the new RTP Payload setting, remove compiler option that may confuse g++ and force chan_h323.so to be relinked on every compile
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4467 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_h323.c')
-rwxr-xr-xchannels/chan_h323.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index a3a22e8c7..a8404682a 100755
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -131,9 +131,9 @@ struct oh323_pvt {
char exten[AST_MAX_EXTENSION]; /* Requested extension */
char context[AST_MAX_EXTENSION]; /* Context where to start */
char accountcode[256]; /* Account code */
- char cid_num[256]; /* Caller*id number, if available */
- char cid_name[256]; /* Caller*id name, if available */
- char rdnis[256]; /* Referring DNIS, if available */
+ char cid_num[80]; /* Caller*id number, if available */
+ char cid_name[80]; /* Caller*id name, if available */
+ char rdnis[80]; /* Referring DNIS, if available */
int amaflags; /* AMA Flags */
struct ast_rtp *rtp; /* RTP Session */
int dtmfmode; /* What DTMF Mode is being used */
@@ -499,7 +499,15 @@ static int oh323_call(struct ast_channel *c, char *dest, int timeout)
} else {
ast_inet_ntoa(addr, sizeof(addr), pvt->sa.sin_addr);
pvt->options.port = htons(pvt->sa.sin_port);
- }
+ }
+
+ if (c->cid.cid_num) {
+ strncpy(pvt->options.cid_num, c->cid.cid_num, sizeof(pvt->options.cid_num));
+ }
+ if (c->cid.cid_name) {
+ strncpy(pvt->options.cid_name, c->cid.cid_name, sizeof(pvt->options.cid_name));
+ }
+
/* indicate that this is an outgoing call */
pvt->outgoing = 1;