Go to the documentation of this file.
28 #if !defined(_SPANDSP_ADSI_H_)
29 #define _SPANDSP_ADSI_H_
187 ADSI_STANDARD_NONE = 0,
188 ADSI_STANDARD_CLASS = 1,
189 ADSI_STANDARD_CLIP = 2,
190 ADSI_STANDARD_ACLIP = 3,
191 ADSI_STANDARD_JCLIP = 4,
192 ADSI_STANDARD_CLIP_DTMF = 5,
193 ADSI_STANDARD_TDD = 6
248 #define MCLASS_VISUAL_INDICATOR 0x0B
338 #define JCLIP_MDMF_CALLERID 0x40
358 #define CLIP_DTMF_HASH_TERMINATED '#'
360 #define CLIP_DTMF_C_TERMINATED 'C'
363 #define CLIP_DTMF_HASH_CALLER_NUMBER 'A'
365 #define CLIP_DTMF_HASH_ABSENCE 'D'
367 #define CLIP_DTMF_HASH_UNSPECIFIED 0
370 #define CLIP_DTMF_C_CALLER_NUMBER 'A'
372 #define CLIP_DTMF_C_REDIRECT_NUMBER 'D'
374 #define CLIP_DTMF_C_ABSENCE 'B'
388 #if defined(__cplusplus)
460 int preamble_ones_len,
461 int postamble_ones_len,
497 SPAN_DECLARE(
int)
adsi_next_field(
adsi_rx_state_t *s,
const uint8_t *msg,
int msg_len,
int pos, uint8_t *field_type, uint8_t
const **field_body,
int *field_len);
515 #if defined(__cplusplus)
const char * adsi_standard_to_str(int standard)
Return a short name for an ADSI standard.
Definition: adsi.c:1103
@ MCLASS_CALLER_NAME
Definition: adsi.h:239
@ CLASS_SDMF_CALLERID
Definition: adsi.h:214
dtmf_rx_state_t * dtmf_rx_init(dtmf_rx_state_t *s, digits_rx_callback_t callback, void *user_data)
Initialise a DTMF receiver context.
Definition: dtmf.c:407
#define CLIP_DTMF_HASH_UNSPECIFIED
Definition: adsi.h:367
@ CLIP_ABSENCE2
Definition: adsi.h:277
int adsi_tx_release(adsi_tx_state_t *s)
Release an ADSI transmit context.
Definition: adsi.c:686
const char * adsi_standard_to_str(int standard)
Return a short name for an ADSI standard.
Definition: adsi.c:1103
@ CLIP_DATETIME
Definition: adsi.h:267
int adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len)
Insert the header or a field into an ADSI message.
Definition: adsi.c:1001
adsi_rx_state_t * adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data)
Initialise an ADSI receive context.
Definition: adsi.c:427
int adsi_tx(adsi_tx_state_t *s, int16_t amp[], int max_len)
Generate a block of ADSI audio samples.
Definition: adsi.c:478
@ CLIP_MDMF_CALLERID
Definition: adsi.h:254
@ JCLIP_DIALED_NUM_DES
Definition: adsi.h:350
int adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len)
Get a field from an ADSI message.
Definition: adsi.c:881
@ CLIP_SERVICE_INFO
Definition: adsi.h:303
@ SIG_STATUS_CARRIER_UP
The carrier signal is up. This merely indicates that carrier energy has been seen....
Definition: async.h:58
int adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len)
Put a message into the input buffer of an ADSI transmit context.
Definition: adsi.c:565
int dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples)
Generate a buffer of DTMF tones.
Definition: dtmf.c:501
int adsi_rx_free(adsi_rx_state_t *s)
Free the resources of an ADSI receive context.
Definition: adsi.c:471
@ CLASS_SDMF_MSG_WAITING
Definition: adsi.h:218
#define BAUDOT_FIGURE_SHIFT
Definition: adsi.c:76
Definition: private/awgn.h:33
@ JCLIP_ABSENCE
Definition: adsi.h:352
@ CLIP_ADD_CHARGE
Definition: adsi.h:299
@ CLIP_DISPLAY_INFO
Definition: adsi.h:301
@ ACLIP_CALLER_NUMBER
Definition: adsi.h:321
int adsi_rx_release(adsi_rx_state_t *s)
Release an ADSI receive context.
Definition: adsi.c:465
const char * signal_status_to_str(int status)
Convert a signal status to a short text description.
Definition: async.c:42
@ ACLIP_MDMF_CALLERID
Definition: adsi.h:312
@ JCLIP_CALLER_NUMBER
Definition: adsi.h:344
logging_state_t * adsi_rx_get_logging_state(adsi_rx_state_t *s)
Get the logging context associated with an ADSI receive context.
Definition: adsi.c:421
@ CLIP_TYPE_OF_FORWARDED_CALL
Definition: adsi.h:289
@ ACLIP_REDIRECT
Definition: adsi.h:327
int adsi_rx_free(adsi_rx_state_t *s)
Free the resources of an ADSI receive context.
Definition: adsi.c:471
@ CLIP_CALLER_NAME
Definition: adsi.h:275
@ ACLIP_CALLER_NAME
Definition: adsi.h:331
@ CLASS_MDMF_CALLERID
Definition: adsi.h:216
int adsi_next_field(adsi_rx_state_t *s, const uint8_t *msg, int msg_len, int pos, uint8_t *field_type, uint8_t const **field_body, int *field_len)
Get a field from an ADSI message.
Definition: adsi.c:881
int framing_errors
Definition: private/adsi.h:111
@ CLIP_MESSAGE_ID
Definition: adsi.h:281
@ CLIP_DIALED_NUMBER
Definition: adsi.h:271
adsi_tx_state_t * adsi_tx_init(adsi_tx_state_t *s, int standard)
Initialise an ADSI transmit context.
Definition: adsi.c:660
#define BAUDOT_LETTER_SHIFT
Definition: adsi.c:78
int adsi_rx_release(adsi_rx_state_t *s)
Release an ADSI receive context.
Definition: adsi.c:465
@ CLIP_MDMF_MSG_WAITING
Definition: adsi.h:256
@ ASYNC_PARITY_NONE
Definition: async.h:133
void adsi_tx_set_preamble(adsi_tx_state_t *s, int preamble_len, int preamble_ones_len, int postamble_ones_len, int stop_bits)
Adjust the preamble associated with an ADSI transmit context.
Definition: adsi.c:512
int adsi_rx(adsi_rx_state_t *s, const int16_t amp[], int len)
Receive a chunk of ADSI audio.
Definition: adsi.c:402
@ SIG_STATUS_CARRIER_DOWN
The carrier signal has dropped.
Definition: async.h:54
@ ACLIP_NUMBER_ABSENCE
Definition: adsi.h:325
adsi_rx_state_t * adsi_rx_init(adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data)
Initialise an ADSI receive context.
Definition: adsi.c:427
@ MCLASS_DIALED_NUMBER
Definition: adsi.h:231
@ MCLASS_DATETIME
Definition: adsi.h:227
@ MCLASS_ALT_ROUTE
Definition: adsi.h:243
int adsi_tx_free(adsi_tx_state_t *s)
Free the resources of an ADSI transmit context.
Definition: adsi.c:692
Definition: private/adsi.h:84
@ CLIP_ABSENCE1
Definition: adsi.h:273
@ ACLIP_SDMF_CALLERID
Definition: adsi.h:310
int adsi_tx(adsi_tx_state_t *s, int16_t amp[], int max_len)
Generate a block of ADSI audio samples.
Definition: adsi.c:478
int adsi_rx(adsi_rx_state_t *s, const int16_t amp[], int len)
Receive a chunk of ADSI audio.
Definition: adsi.c:402
adsi_tx_state_t * adsi_tx_init(adsi_tx_state_t *s, int standard)
Initialise an ADSI transmit context.
Definition: adsi.c:660
int span_log(logging_state_t *s, int level, const char *format,...)
Generate a log entry.
Definition: logging.c:84
Definition: test_utils.c:54
@ MCLASS_ABSENCE2
Definition: adsi.h:241
@ CLIP_COMPLEMENTARY_CALLER_NUMBER
Definition: adsi.h:283
Definition: private/adsi.h:36
dtmf_tx_state_t * dtmf_tx_init(dtmf_tx_state_t *s)
Initialise a DTMF tone generator context.
Definition: dtmf.c:565
@ CLIP_CHARGE
Definition: adsi.h:295
@ CLIP_REDIR_NUMBER
Definition: adsi.h:293
@ ACLIP_DATETIME
Definition: adsi.h:319
@ MCLASS_ABSENCE1
Definition: adsi.h:233
@ CLIP_CALLER_NUMBER
Definition: adsi.h:269
tone_gen_descriptor_t * tone_gen_descriptor_init(tone_gen_descriptor_t *s, int f1, int l1, int f2, int l2, int d1, int d2, int d3, int d4, int repeat)
Create a tone generator descriptor.
Definition: tone_generate.c:60
uint16_t crc_itu16_calc(const uint8_t *buf, int len, uint16_t crc)
Calculate the ITU/CCITT CRC-16 value in buffer by whole bytes.
Definition: crc.c:153
fsk_rx_state_t * fsk_rx_init(fsk_rx_state_t *s, const fsk_spec_t *spec, int framing_mode, put_bit_func_t put_bit, void *user_data)
Initialise an FSK modem receive context.
Definition: fsk.c:314
void adsi_tx_set_preamble(adsi_tx_state_t *s, int preamble_len, int preamble_ones_len, int postamble_ones_len, int stop_bits)
Adjust the preamble associated with an ADSI transmit context.
Definition: adsi.c:512
async_tx_state_t * async_tx_init(async_tx_state_t *s, int data_bits, int parity, int stop_bits, int use_v14, get_byte_func_t get_byte, void *user_data)
Initialise an asynchronous data transmit context.
Definition: async.c:208
int dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len)
Put a string of digits in a DTMF generator's input buffer.
Definition: dtmf.c:531
fsk_tx_state_t * fsk_tx_init(fsk_tx_state_t *s, const fsk_spec_t *spec, get_bit_func_t get_bit, void *user_data)
Initialise an FSK modem transmit context.
Definition: fsk.c:153
void adsi_tx_send_alert_tone(adsi_tx_state_t *s)
Request generation of an ADSI alert tone.
Definition: adsi.c:506
@ ACLIP_DIALED_NUMBER
Definition: adsi.h:323
@ CLIP_CALLTYPE
Definition: adsi.h:285
int adsi_tx_release(adsi_tx_state_t *s)
Release an ADSI transmit context.
Definition: adsi.c:686
int adsi_tx_free(adsi_tx_state_t *s)
Free the resources of an ADSI transmit context.
Definition: adsi.c:692
@ CLIP_MDMF_CHARGE_INFO
Definition: adsi.h:258
logging_state_t * adsi_rx_get_logging_state(adsi_rx_state_t *s)
Get the logging context associated with an ADSI receive context.
Definition: adsi.c:421
@ ACLIP_NAME_ABSENCE
Definition: adsi.h:333
void(* put_msg_func_t)(void *user_data, const uint8_t *msg, int len)
Definition: async.h:93
@ MCLASS_CALLER_NUMBER
Definition: adsi.h:229
@ MCLASS_REDIRECT
Definition: adsi.h:235
void adsi_tx_send_alert_tone(adsi_tx_state_t *s)
Request generation of an ADSI alert tone.
Definition: adsi.c:506
@ MCLASS_QUALIFIER
Definition: adsi.h:237
int dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples)
Process a block of received DTMF audio samples.
Definition: dtmf.c:102
Definition: private/logging.h:34
@ CLASS_MDMF_MSG_WAITING
Definition: adsi.h:220
@ JCLIP_CALLER_NUM_DES
Definition: adsi.h:346
@ JCLIP_DIALED_NUMBER
Definition: adsi.h:348
@ ACLIP_QUALIFIER
Definition: adsi.h:329
int adsi_add_field(adsi_tx_state_t *s, uint8_t *msg, int len, uint8_t field_type, uint8_t const *field_body, int field_len)
Insert the header or a field into an ADSI message.
Definition: adsi.c:1001
@ CLIP_NUM_MSG
Definition: adsi.h:287
@ CLIP_MDMF_SMS
Definition: adsi.h:260
@ SIG_STATUS_END_OF_DATA
The data stream has ended.
Definition: async.h:71
@ CLIP_TYPE_OF_CALLING_USER
Definition: adsi.h:291
@ CLIP_VISUAL_INDICATOR
Definition: adsi.h:279
int adsi_tx_put_message(adsi_tx_state_t *s, const uint8_t *msg, int len)
Put a message into the input buffer of an ADSI transmit context.
Definition: adsi.c:565
@ CLIP_DURATION
Definition: adsi.h:297