41 lines
866 B
C
41 lines
866 B
C
|
|
enum {
|
|
TONE_OFF = 0,
|
|
TONE_GERMAN_DIALTONE,
|
|
TONE_GERMAN_OLDDIALTONE,
|
|
TONE_AMERICAN_DIALTONE,
|
|
TONE_GERMAN_DIALPBX,
|
|
TONE_GERMAN_OLDDIALPBX,
|
|
TONE_AMERICAN_DIALPBX,
|
|
TONE_GERMAN_RINGING,
|
|
TONE_GERMAN_OLDRINGING,
|
|
TONE_AMERICAN_RINGING,
|
|
TONE_GERMAN_RINGPBX,
|
|
TONE_GERMAN_OLDRINGPBX,
|
|
TONE_AMERICAN_RINGPBX,
|
|
TONE_GERMAN_BUSY,
|
|
TONE_GERMAN_OLDBUSY,
|
|
TONE_AMERICAN_BUSY,
|
|
TONE_GERMAN_HANGUP,
|
|
TONE_GERMAN_OLDHANGUP,
|
|
TONE_AMERICAN_HANGUP,
|
|
TONE_SPECIAL_INFO,
|
|
TONE_GERMAN_GASSENBESETZT,
|
|
TONE_GERMAN_AUFSCHALTTON,
|
|
TONE_GERMAN_CW,
|
|
TONE_AMERICAN_CW,
|
|
};
|
|
|
|
struct isdn_tone {
|
|
int tone;
|
|
void *pattern;
|
|
int count;
|
|
int index;
|
|
};
|
|
|
|
void isdn_tone_generate_ulaw_samples(void);
|
|
void isdn_tone_copy(struct isdn_tone *t, uint8_t *data, int len);
|
|
int isdn_tone_set(struct isdn_tone *t, int tone);
|
|
|
|
|