char p_m_s_dial[64]; /* current dialing register */
int p_m_s_digit_i; /* current digit of register counter */
int p_m_s_pulsecount; /* counts pule dialing half cycles */
- char p_m_s_last_digit; /* stores last digit to fill short signal losses */
+ char p_m_s_last_digit; /* stores last digit that was detected, to fill short signal losses */
+ char p_m_s_last_digit_used; /* stores last digit that was used, to ignore short changes of signal due to noise */
int p_m_s_signal_loss; /* sample counter for loss of signal check */
int p_m_s_decoder_count; /* samples currently decoded */
unsigned char p_m_s_decoder_buffer[SS5_DECODER_NPOINTS]; /* buffer for storing one goertzel window */
void start_signal(int);
void start_outgoing(void);
void do_release(int cause, int location);
- void do_setup(char *digit);
+ void do_setup(char *digit, int complete);
void seizing_ind(void);
void digit_ind(char digit);
void message_disconnect(unsigned int epoint_id, int message_id, union parameter *param);
void message_release(unsigned int epoint_id, int message_id, union parameter *param);
+ void register_timeout(void);
+
};
#define new_ss5_state(a) _new_ss5_state(a, __FUNCTION__, __LINE__)