aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn
diff options
context:
space:
mode:
authornadi <nadi@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-16 13:19:54 +0000
committernadi <nadi@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-16 13:19:54 +0000
commita392d1fb28a5501d21ba959c1f3286441bd436c1 (patch)
treeef6118db4d182f1390a7a15353b53c4e1ea22746 /channels/misdn
parent2a9c54bd8d86053af262ba20e5bdd27b9f7142c3 (diff)
adding support for AOCD facility messages.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39987 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/isdn_lib.c12
-rw-r--r--channels/misdn/isdn_lib.h11
-rw-r--r--channels/misdn/isdn_msg_parser.c4
3 files changed, 17 insertions, 10 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index 2528ea05e..ea38592bd 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -615,8 +615,8 @@ void empty_bc(struct misdn_bchannel *bc)
bc->rad[0] = 0;
bc->orig_dad[0] = 0;
- bc->fac_in.Function = FacReq_None;
- bc->fac_out.Function = FacReq_None;
+ bc->fac_in.Function = Fac_None;
+ bc->fac_out.Function = Fac_None;
bc->te_choose_channel = 0;
@@ -3080,13 +3080,13 @@ struct misdn_bchannel* misdn_lib_get_free_bc(int port, int channel)
}
-char *fac2str (enum FacReqFunction func) {
+char *fac2str (enum FacFunction func) {
struct arr_el {
- enum FacReqFunction p;
+ enum FacFunction p;
char *s ;
} arr[] = {
- { FacReq_None, "FacReq_None" },
- { FacReq_CD, "FacReq_CD"},
+ { Fac_None, "Fac_None" },
+ { Fac_CD, "Fac_CD"},
};
int i;
diff --git a/channels/misdn/isdn_lib.h b/channels/misdn/isdn_lib.h
index af38f1187..1d38bb4fa 100644
--- a/channels/misdn/isdn_lib.h
+++ b/channels/misdn/isdn_lib.h
@@ -256,8 +256,15 @@ struct misdn_bchannel {
int progress_location;
int progress_indicator;
- struct FacReqParm fac_in;
- struct FacReqParm fac_out;
+ struct FacParm fac_in;
+ struct FacParm fac_out;
+
+ /* storing the current AOCD info here */
+ enum FacFunction AOCDtype;
+ union {
+ struct FacAOCDCurrency currency;
+ struct FacAOCDChargingUnit chargingUnit;
+ } AOCD;
enum event_e evq;
diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c
index 2abab25b7..a7fbf4e79 100644
--- a/channels/misdn/isdn_msg_parser.c
+++ b/channels/misdn/isdn_msg_parser.c
@@ -896,7 +896,7 @@ void parse_facility (struct isdn_msg msgs[], msg_t *msg, struct misdn_bchannel *
if (!p)
return;
- err = decodeFacReq(p, &(bc->fac_in));
+ err = decodeFac(p, &(bc->fac_in));
if (err) {
cb_log(1, bc->port, "Decoding FACILITY failed! (%d)\n", err);
}
@@ -916,7 +916,7 @@ msg_t *build_facility (struct isdn_msg msgs[], struct misdn_bchannel *bc, int nt
printf("Building FACILITY Msg\n");
#endif
- len = encodeFacReq(fac_tmp, &(bc->fac_out));
+ len = encodeFac(fac_tmp, &(bc->fac_out));
if (len <= 0)
return NULL;