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