00001 /* 00002 * SpanDSP - a series of DSP components for telephony 00003 * 00004 * private/adsi.h - Analogue display services interface and other call ID related handling. 00005 * 00006 * Written by Steve Underwood <steveu@coppice.org> 00007 * 00008 * Copyright (C) 2003 Steve Underwood 00009 * 00010 * All rights reserved. 00011 * 00012 * This program is free software; you can redistribute it and/or modify 00013 * it under the terms of the GNU Lesser General Public License version 2.1, 00014 * as published by the Free Software Foundation. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00024 * 00025 * $Id: adsi.h,v 1.4 2009/04/12 04:20:01 steveu Exp $ 00026 */ 00027 00028 /*! \file */ 00029 00030 #if !defined(_SPANDSP_PRIVATE_ADSI_H_) 00031 #define _SPANDSP_PRIVATE_ADSI_H_ 00032 00033 /*! 00034 ADSI transmitter descriptor. This contains all the state information for an ADSI 00035 (caller ID, CLASS, CLIP, ACLIP) transmit channel. 00036 */ 00037 struct adsi_tx_state_s 00038 { 00039 /*! */ 00040 int standard; 00041 00042 /*! */ 00043 tone_gen_descriptor_t alert_tone_desc; 00044 /*! */ 00045 tone_gen_state_t alert_tone_gen; 00046 /*! */ 00047 fsk_tx_state_t fsktx; 00048 /*! */ 00049 dtmf_tx_state_t dtmftx; 00050 /*! */ 00051 async_tx_state_t asynctx; 00052 00053 /*! */ 00054 int tx_signal_on; 00055 00056 /*! */ 00057 int byte_no; 00058 /*! */ 00059 int bit_pos; 00060 /*! */ 00061 int bit_no; 00062 /*! */ 00063 uint8_t msg[256]; 00064 /*! */ 00065 int msg_len; 00066 /*! */ 00067 int preamble_len; 00068 /*! */ 00069 int preamble_ones_len; 00070 /*! */ 00071 int postamble_ones_len; 00072 /*! */ 00073 int stop_bits; 00074 /*! */ 00075 int baudot_shift; 00076 00077 /*! */ 00078 logging_state_t logging; 00079 }; 00080 00081 /*! 00082 ADSI receiver descriptor. This contains all the state information for an ADSI 00083 (caller ID, CLASS, CLIP, ACLIP, JCLIP) receive channel. 00084 */ 00085 struct adsi_rx_state_s 00086 { 00087 /*! */ 00088 int standard; 00089 /*! */ 00090 put_msg_func_t put_msg; 00091 /*! */ 00092 void *user_data; 00093 00094 /*! */ 00095 fsk_rx_state_t fskrx; 00096 /*! */ 00097 dtmf_rx_state_t dtmfrx; 00098 00099 /*! */ 00100 int consecutive_ones; 00101 /*! */ 00102 int bit_pos; 00103 /*! */ 00104 int in_progress; 00105 /*! */ 00106 uint8_t msg[256]; 00107 /*! */ 00108 int msg_len; 00109 /*! */ 00110 int baudot_shift; 00111 00112 /*! A count of the framing errors. */ 00113 int framing_errors; 00114 00115 /*! */ 00116 logging_state_t logging; 00117 }; 00118 00119 #endif 00120 /*- End of file ------------------------------------------------------------*/