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,
497SPAN_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)
int adsi_tx_free(adsi_tx_state_t *s)
Free the resources of an ADSI transmit context.
Definition: adsi.c:692
@ JCLIP_DIALED_NUM_DES
Definition: adsi.h:350
@ JCLIP_DIALED_NUMBER
Definition: adsi.h:348
@ JCLIP_CALLER_NUMBER
Definition: adsi.h:344
@ JCLIP_CALLER_NUM_DES
Definition: adsi.h:346
@ JCLIP_ABSENCE
Definition: adsi.h:352
@ ACLIP_NUMBER_ABSENCE
Definition: adsi.h:325
@ ACLIP_NAME_ABSENCE
Definition: adsi.h:333
@ ACLIP_CALLER_NUMBER
Definition: adsi.h:321
@ ACLIP_QUALIFIER
Definition: adsi.h:329
@ ACLIP_CALLER_NAME
Definition: adsi.h:331
@ ACLIP_DATETIME
Definition: adsi.h:319
@ ACLIP_REDIRECT
Definition: adsi.h:327
@ ACLIP_DIALED_NUMBER
Definition: adsi.h:323
int adsi_rx(adsi_rx_state_t *s, const int16_t amp[], int len)
Receive a chunk of ADSI audio.
Definition: adsi.c:402
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
void adsi_tx_send_alert_tone(adsi_tx_state_t *s)
Request generation of an ADSI alert tone.
Definition: adsi.c:506
int adsi_rx_free(adsi_rx_state_t *s)
Free the resources of an ADSI receive context.
Definition: adsi.c:471
int adsi_rx_release(adsi_rx_state_t *s)
Release an ADSI receive context.
Definition: adsi.c:465
int adsi_tx_release(adsi_tx_state_t *s)
Release an ADSI transmit context.
Definition: adsi.c:686
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
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_DISPLAY_INFO
Definition: adsi.h:301
@ CLIP_TYPE_OF_FORWARDED_CALL
Definition: adsi.h:289
@ CLIP_REDIR_NUMBER
Definition: adsi.h:293
@ CLIP_VISUAL_INDICATOR
Definition: adsi.h:279
@ CLIP_CALLTYPE
Definition: adsi.h:285
@ CLIP_MESSAGE_ID
Definition: adsi.h:281
@ CLIP_CHARGE
Definition: adsi.h:295
@ CLIP_COMPLEMENTARY_CALLER_NUMBER
Definition: adsi.h:283
@ CLIP_CALLER_NUMBER
Definition: adsi.h:269
@ CLIP_DIALED_NUMBER
Definition: adsi.h:271
@ CLIP_CALLER_NAME
Definition: adsi.h:275
@ CLIP_ABSENCE1
Definition: adsi.h:273
@ CLIP_TYPE_OF_CALLING_USER
Definition: adsi.h:291
@ CLIP_DURATION
Definition: adsi.h:297
@ CLIP_DATETIME
Definition: adsi.h:267
@ CLIP_NUM_MSG
Definition: adsi.h:287
@ CLIP_ADD_CHARGE
Definition: adsi.h:299
@ CLIP_SERVICE_INFO
Definition: adsi.h:303
@ CLIP_ABSENCE2
Definition: adsi.h:277
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
const char * adsi_standard_to_str(int standard)
Return a short name for an ADSI standard.
Definition: adsi.c:1103
adsi_tx_state_t * adsi_tx_init(adsi_tx_state_t *s, int standard)
Initialise an ADSI transmit context.
Definition: adsi.c:660
@ MCLASS_ABSENCE1
Definition: adsi.h:233
@ MCLASS_REDIRECT
Definition: adsi.h:235
@ MCLASS_CALLER_NAME
Definition: adsi.h:239
@ MCLASS_ALT_ROUTE
Definition: adsi.h:243
@ MCLASS_CALLER_NUMBER
Definition: adsi.h:229
@ MCLASS_QUALIFIER
Definition: adsi.h:237
@ MCLASS_DATETIME
Definition: adsi.h:227
@ MCLASS_ABSENCE2
Definition: adsi.h:241
@ MCLASS_DIALED_NUMBER
Definition: adsi.h:231
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 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_SMS
Definition: adsi.h:260
@ CLIP_MDMF_MSG_WAITING
Definition: adsi.h:256
@ CLIP_MDMF_CALLERID
Definition: adsi.h:254
@ CLIP_MDMF_CHARGE_INFO
Definition: adsi.h:258
@ ACLIP_SDMF_CALLERID
Definition: adsi.h:310
@ ACLIP_MDMF_CALLERID
Definition: adsi.h:312
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
@ CLASS_MDMF_CALLERID
Definition: adsi.h:216
@ CLASS_SDMF_CALLERID
Definition: adsi.h:214
@ CLASS_MDMF_MSG_WAITING
Definition: adsi.h:220
@ CLASS_SDMF_MSG_WAITING
Definition: adsi.h:218
void(* put_msg_func_t)(void *user_data, const uint8_t *msg, int len)
Definition: async.h:93
Definition: private/adsi.h:84
Definition: private/adsi.h:36
Definition: private/logging.h:34