diff options
author | nadi <nadi@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-16 13:19:54 +0000 |
---|---|---|
committer | nadi <nadi@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-16 13:19:54 +0000 |
commit | a392d1fb28a5501d21ba959c1f3286441bd436c1 (patch) | |
tree | ef6118db4d182f1390a7a15353b53c4e1ea22746 /channels/misdn | |
parent | 2a9c54bd8d86053af262ba20e5bdd27b9f7142c3 (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.c | 12 | ||||
-rw-r--r-- | channels/misdn/isdn_lib.h | 11 | ||||
-rw-r--r-- | channels/misdn/isdn_msg_parser.c | 4 |
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; |