diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-21 20:59:03 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-21 20:59:03 +0000 |
commit | 42899d3f859d2dcc376a848e2909c6c53e992138 (patch) | |
tree | f99dbf0794b599bc588c4e06a937f22371480a6c /main/callerid.c | |
parent | b714462a52590ebcbf027e7f06127dbe2c64ff3e (diff) |
Optionally build integer-based routines for FSK tone decoding (but default
to the more accurate float-based routines).
(Closes issue #11679)
(Step 1 of 2)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@132510 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/callerid.c')
-rw-r--r-- | main/callerid.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/main/callerid.c b/main/callerid.c index c8c3afcb6..1d5ae047e 100644 --- a/main/callerid.c +++ b/main/callerid.c @@ -128,6 +128,7 @@ struct callerid_state *callerid_new(int cid_signalling) struct callerid_state *cid; if ((cid = ast_calloc(1, sizeof(*cid)))) { +#ifdef INTEGER_CALLERID cid->fskd.ispb = 7; /* 1200 baud */ /* Set up for 1200 / 8000 freq *32 to allow ints */ cid->fskd.pllispb = (int)(8000 * 32 / 1200); @@ -155,6 +156,27 @@ struct callerid_state *callerid_new(int cid_signalling) /* cid->pos = 0; */ fskmodem_init(&cid->fskd); +#else + cid->fskd.spb = 7.0; /* 1200 baud */ + /* cid->fskd.hdlc = 0; */ /* Async */ + cid->fskd.nbit = 8; /* 8 bits */ + cid->fskd.nstop = 1.0; /* 1 stop bit */ + /* cid->fskd.paridad = 0; */ /* No parity */ + cid->fskd.bw = 1; /* Filter 800 Hz */ + if (cid_signalling == 2) { /* v23 signalling */ + cid->fskd.f_mark_idx = 4; /* 1300 Hz */ + cid->fskd.f_space_idx = 5; /* 2100 Hz */ + } else { /* Bell 202 signalling as default */ + cid->fskd.f_mark_idx = 2; /* 1200 Hz */ + cid->fskd.f_space_idx = 3; /* 2200 Hz */ + } + /* cid->fskd.pcola = 0; */ /* No clue */ + /* cid->fskd.cont = 0.0; */ /* Digital PLL reset */ + /* cid->fskd.x0 = 0.0; */ + /* cid->fskd.state = 0; */ + cid->flags = CID_UNKNOWN_NAME | CID_UNKNOWN_NUMBER; + /* cid->pos = 0; */ +#endif } return cid; |