aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-06 15:48:45 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-06 15:48:45 +0000
commit668f9e25f5513ee8b5363637f723560189e66829 (patch)
tree265eab9a0f352d43932aab641afbe84cd1206cf8 /channels
parenteacfb3340fe838ce5a3aa004275208e22cf1fb19 (diff)
added the export and import of the MISDN_ADDRESS_COMPLETE Variable to inidcate wether the extension is already completely dialed or if there might come additional digits by information elements. also added some docs for that.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@48321 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_misdn.c10
-rw-r--r--channels/misdn/isdn_msg_parser.c4
2 files changed, 14 insertions, 0 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index fc421c54a..9049ba753 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -3183,6 +3183,11 @@ void import_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_
if (ch->other_ch) ch->other_ch->other_ch=ch;
}
}
+
+ tmp=pbx_builtin_getvar_helper(chan,"MISDN_ADDRESS_COMPLETE");
+ if (tmp && (atoi(tmp) == 1)) {
+ bc->sending_complete=1;
+ }
}
void export_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_list *ch)
@@ -3192,6 +3197,11 @@ void export_ch(struct ast_channel *chan, struct misdn_bchannel *bc, struct chan_
chan_misdn_log(3,bc->port," --> EXPORT_PID: pid:%d\n",bc->pid);
sprintf(tmp,"%d",bc->pid);
pbx_builtin_setvar_helper(chan,"_MISDN_PID",tmp);
+
+ if (bc->sending_complete) {
+ sprintf(tmp,"%d",bc->sending_complete);
+ pbx_builtin_setvar_helper(chan,"MISDN_ADDRESS_COMPLETE",tmp);
+ }
}
diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c
index 136c9a62d..3d841d893 100644
--- a/channels/misdn/isdn_msg_parser.c
+++ b/channels/misdn/isdn_msg_parser.c
@@ -323,6 +323,10 @@ msg_t *build_setup (struct isdn_msg msgs[], struct misdn_bchannel *bc, int nt)
enc_ie_bearer(&setup->BEARER, msg, coding, capability, mode, rate, -1, user, nt,bc);
}
+
+ if (bc->sending_complete) {
+ enc_ie_complete(&setup->BEARER,msg, bc->sending_complete, nt, bc);
+ }
#if DEBUG
printf("Building SETUP Msg\n");