adsi.h File Reference

Go to the source code of this file.

Defines

#define _SPANDSP_ADSI_H_
#define MCLASS_VISUAL_INDICATOR   0x0B
#define JCLIP_MDMF_CALLERID   0x40
#define CLIP_DTMF_HASH_TERMINATED   '#'
#define CLIP_DTMF_C_TERMINATED   'C'
#define CLIP_DTMF_HASH_CALLER_NUMBER   'A'
#define CLIP_DTMF_HASH_ABSENCE   'D'
#define CLIP_DTMF_HASH_UNSPECIFIED   0
#define CLIP_DTMF_C_CALLER_NUMBER   'A'
#define CLIP_DTMF_C_REDIRECT_NUMBER   'D'
#define CLIP_DTMF_C_ABSENCE   'B'

Typedefs

typedef struct adsi_tx_state_s adsi_tx_state_t
typedef struct adsi_rx_state_s adsi_rx_state_t

Enumerations

enum  {
  ADSI_STANDARD_NONE = 0, ADSI_STANDARD_CLASS = 1, ADSI_STANDARD_CLIP = 2, ADSI_STANDARD_ACLIP = 3,
  ADSI_STANDARD_JCLIP = 4, ADSI_STANDARD_CLIP_DTMF = 5, ADSI_STANDARD_TDD = 6
}
enum  { CLASS_SDMF_CALLERID = 0x04, CLASS_MDMF_CALLERID = 0x80, CLASS_SDMF_MSG_WAITING = 0x06, CLASS_MDMF_MSG_WAITING = 0x82 }
enum  {
  MCLASS_DATETIME = 0x01, MCLASS_CALLER_NUMBER = 0x02, MCLASS_DIALED_NUMBER = 0x03, MCLASS_ABSENCE1 = 0x04,
  MCLASS_REDIRECT = 0x05, MCLASS_QUALIFIER = 0x06, MCLASS_CALLER_NAME = 0x07, MCLASS_ABSENCE2 = 0x08,
  MCLASS_ALT_ROUTE = 0x09
}
enum  { CLIP_MDMF_CALLERID = 0x80, CLIP_MDMF_MSG_WAITING = 0x82, CLIP_MDMF_CHARGE_INFO = 0x86, CLIP_MDMF_SMS = 0x89 }
enum  {
  CLIP_DATETIME = 0x01, CLIP_CALLER_NUMBER = 0x02, CLIP_DIALED_NUMBER = 0x03, CLIP_ABSENCE1 = 0x04,
  CLIP_CALLER_NAME = 0x07, CLIP_ABSENCE2 = 0x08, CLIP_VISUAL_INDICATOR = 0x0B, CLIP_MESSAGE_ID = 0x0D,
  CLIP_COMPLEMENTARY_CALLER_NUMBER = 0x10, CLIP_CALLTYPE = 0x11, CLIP_NUM_MSG = 0x13, CLIP_TYPE_OF_FORWARDED_CALL = 0x15,
  CLIP_TYPE_OF_CALLING_USER = 0x16, CLIP_REDIR_NUMBER = 0x1A, CLIP_CHARGE = 0x20, CLIP_DURATION = 0x23,
  CLIP_ADD_CHARGE = 0x21, CLIP_DISPLAY_INFO = 0x50, CLIP_SERVICE_INFO = 0x55
}
enum  { ACLIP_SDMF_CALLERID = 0x04, ACLIP_MDMF_CALLERID = 0x80 }
enum  {
  ACLIP_DATETIME = 0x01, ACLIP_CALLER_NUMBER = 0x02, ACLIP_DIALED_NUMBER = 0x03, ACLIP_NUMBER_ABSENCE = 0x04,
  ACLIP_REDIRECT = 0x05, ACLIP_QUALIFIER = 0x06, ACLIP_CALLER_NAME = 0x07, ACLIP_NAME_ABSENCE = 0x08
}
enum  {
  JCLIP_CALLER_NUMBER = 0x02, JCLIP_CALLER_NUM_DES = 0x21, JCLIP_DIALED_NUMBER = 0x09, JCLIP_DIALED_NUM_DES = 0x22,
  JCLIP_ABSENCE = 0x04
}

Functions

adsi_rx_state_tadsi_rx_init (adsi_rx_state_t *s, int standard, put_msg_func_t put_msg, void *user_data)
 Initialise an ADSI receive context.
int adsi_rx_release (adsi_rx_state_t *s)
 Release an ADSI receive context.
int adsi_rx_free (adsi_rx_state_t *s)
 Free the resources of an ADSI receive context.
int adsi_rx (adsi_rx_state_t *s, const int16_t amp[], int len)
 Receive a chunk of ADSI audio.
adsi_tx_state_tadsi_tx_init (adsi_tx_state_t *s, int standard)
 Initialise an ADSI transmit context.
int adsi_tx_release (adsi_tx_state_t *s)
 Release an ADSI transmit context.
int adsi_tx_free (adsi_tx_state_t *s)
 Free the resources of an ADSI transmit context.
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.
int adsi_tx (adsi_tx_state_t *s, int16_t amp[], int max_len)
 Generate a block of ADSI audio samples.
void adsi_tx_send_alert_tone (adsi_tx_state_t *s)
 Request generation of an ADSI alert tone.
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.
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.
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.
const char * adsi_standard_to_str (int standard)
 Return a short name for an ADSI standard.


Detailed Description


Define Documentation

#define CLIP_DTMF_C_ABSENCE   'B'

Caller number absent: private/restricted (00) or not available (10)

#define CLIP_DTMF_C_CALLER_NUMBER   'A'

Caller number

#define CLIP_DTMF_C_REDIRECT_NUMBER   'D'

Diverting number

#define CLIP_DTMF_C_TERMINATED   'C'

Caller number is 'C' terminated DTMF.

#define CLIP_DTMF_HASH_ABSENCE   'D'

Caller number absent: private (1), overseas (2) or not available (3)

#define CLIP_DTMF_HASH_CALLER_NUMBER   'A'

Caller number

#define CLIP_DTMF_HASH_TERMINATED   '#'

Caller number is '#' terminated DTMF.

#define CLIP_DTMF_HASH_UNSPECIFIED   0

Caller ID field with no explicit field type

Referenced by adsi_add_field(), and adsi_next_field().

#define JCLIP_MDMF_CALLERID   0x40

Definitions for J-CLIP (Japan Calling Line Identity Presentation)

Multiple data message caller ID frame

#define MCLASS_VISUAL_INDICATOR   0x0B

CLASS MDMF message waiting message IDs

Message waiting/not waiting


Typedef Documentation

ADSI receiver descriptor. This contains all the state information for an ADSI (caller ID, CLASS, CLIP, ACLIP, JCLIP) receive channel.

ADSI transmitter descriptor. This contains all the state information for an ADSI (caller ID, CLASS, CLIP, ACLIP) transmit channel.


Enumeration Type Documentation

anonymous enum

Definitions for CLASS (Custom Local Area Signaling Services)

Enumerator:
CLASS_SDMF_CALLERID  Single data message caller ID
CLASS_MDMF_CALLERID  Multiple data message caller ID
CLASS_SDMF_MSG_WAITING  Single data message message waiting
CLASS_MDMF_MSG_WAITING  Multiple data message message waiting

anonymous enum

CLASS MDMF message IDs

Enumerator:
MCLASS_DATETIME  Date and time (MMDDHHMM)
MCLASS_CALLER_NUMBER  Caller number
MCLASS_DIALED_NUMBER  Dialed number
MCLASS_ABSENCE1  Caller number absent: 'O' or 'P'
MCLASS_REDIRECT  Call forward: universal ('0'), on busy ('1'), or on unanswered ('2')
MCLASS_QUALIFIER  Long distance: 'L'
MCLASS_CALLER_NAME  Caller's name
MCLASS_ABSENCE2  Caller's name absent: 'O' or 'P'
MCLASS_ALT_ROUTE  Alternate route

anonymous enum

Definitions for CLIP (Calling Line Identity Presentation) (from ETS 300 659-1)

Enumerator:
CLIP_MDMF_CALLERID  Multiple data message caller ID
CLIP_MDMF_MSG_WAITING  Multiple data message message waiting
CLIP_MDMF_CHARGE_INFO  Multiple data message charge information
CLIP_MDMF_SMS  Multiple data message SMS

anonymous enum

CLIP message IDs (from ETS 300 659-1)

Enumerator:
CLIP_DATETIME  Date and time (MMDDHHMM)
CLIP_CALLER_NUMBER  Caller number (AKA calling line identity)
CLIP_DIALED_NUMBER  Dialed number (AKA called line identity)
CLIP_ABSENCE1  Caller number absent: 'O' or 'P' (AKA reason for absence of calling line identity)
CLIP_CALLER_NAME  Caller's name (AKA calling party name)
CLIP_ABSENCE2  Caller's name absent: 'O' or 'P' (AKA reason for absence of calling party name)
CLIP_VISUAL_INDICATOR  Visual indicator
CLIP_MESSAGE_ID  Message ID
CLIP_COMPLEMENTARY_CALLER_NUMBER  Complementary calling line identity
CLIP_CALLTYPE  Call type - voice call (1), ring-back-when-free call (2), calling name delivery (3) or msg waiting call(0x81)
CLIP_NUM_MSG  Number of messages
CLIP_TYPE_OF_FORWARDED_CALL  Type of forwarded call
CLIP_TYPE_OF_CALLING_USER  Type of calling user
CLIP_REDIR_NUMBER  Redirecting number
CLIP_CHARGE  Charge
CLIP_DURATION  Duration of the call
CLIP_ADD_CHARGE  Additional charge
CLIP_DISPLAY_INFO  Display information
CLIP_SERVICE_INFO  Service information

anonymous enum

Definitions for A-CLIP (Analog Calling Line Identity Presentation)

Enumerator:
ACLIP_SDMF_CALLERID  Single data message caller ID frame
ACLIP_MDMF_CALLERID  Multiple data message caller ID frame

anonymous enum

A-CLIP MDM message IDs

Enumerator:
ACLIP_DATETIME  Date and time (MMDDHHMM)
ACLIP_CALLER_NUMBER  Caller number
ACLIP_DIALED_NUMBER  Dialed number
ACLIP_NUMBER_ABSENCE  Caller number absent: 'O' or 'P'
ACLIP_REDIRECT  Call forward: universal, on busy, or on unanswered
ACLIP_QUALIFIER  Long distance call: 'L'
ACLIP_CALLER_NAME  Caller's name
ACLIP_NAME_ABSENCE  Caller's name absent: 'O' or 'P'

anonymous enum

J-CLIP MDM message IDs

Enumerator:
JCLIP_CALLER_NUMBER  Caller number
JCLIP_CALLER_NUM_DES  Caller number data extension signal
JCLIP_DIALED_NUMBER  Dialed number
JCLIP_DIALED_NUM_DES  Dialed number data extension signal
JCLIP_ABSENCE  Caller number absent: 'C', 'O', 'P' or 'S'


Function Documentation

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.

Parameters:
s The ADSI transmit context.
msg The message buffer.
len The current length of the message.
field_type The type code for the new field.
field_body Pointer to the body of the new field.
field_len The length of the new field.

References CLIP_DTMF_HASH_UNSPECIFIED.

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.

Parameters:
s The ADSI receive context.
msg The message buffer.
msg_len The length of the message.
pos Current position within the message. Set to -1 when starting a message.
field_type The type code for the field.
field_body Pointer to the body of the field.
field_len The length of the field, or -1 for no more fields, or -2 for message structure corrupt.

References CLIP_DTMF_HASH_UNSPECIFIED.

int adsi_rx ( adsi_rx_state_t s,
const int16_t  amp[],
int  len 
)

Receive a chunk of ADSI audio.

Parameters:
s The ADSI receive context.
amp The audio sample buffer.
len The number of samples in the buffer.
Returns:
The number of samples unprocessed.

References dtmf_rx(), and fsk_rx().

int adsi_rx_free ( adsi_rx_state_t s  ) 

Free the resources of an ADSI receive context.

Parameters:
s The ADSI receive context.
Returns:
0 for OK.

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.

Parameters:
s The ADSI receive context.
standard The code for the ADSI standard to be used.
put_msg A callback routine called to deliver the received messages to the application.
user_data An opaque pointer for the callback routine.
Returns:
A pointer to the initialised context, or NULL if there was a problem.

References dtmf_rx_init(), and fsk_rx_init().

int adsi_rx_release ( adsi_rx_state_t s  ) 

Release an ADSI receive context.

Parameters:
s The ADSI receive context.
Returns:
0 for OK.

const char* adsi_standard_to_str ( int  standard  ) 

Return a short name for an ADSI standard.

Parameters:
standard The code for the standard.
Returns:
A pointer to the name.

int adsi_tx ( adsi_tx_state_t s,
int16_t  amp[],
int  max_len 
)

Generate a block of ADSI audio samples.

Parameters:
s The ADSI transmit context.
amp The audio sample buffer.
max_len The number of samples to be generated.
Returns:
The number of samples actually generated.

References dtmf_tx(), and fsk_tx().

int adsi_tx_free ( adsi_tx_state_t s  ) 

Free the resources of an ADSI transmit context.

Parameters:
s The ADSI transmit context.
Returns:
0 for OK.

adsi_tx_state_t* adsi_tx_init ( adsi_tx_state_t s,
int  standard 
)

Initialise an ADSI transmit context.

Parameters:
s The ADSI transmit context.
standard The code for the ADSI standard to be used.
Returns:
A pointer to the initialised context, or NULL if there was a problem.

References adsi_tx_set_preamble(), and make_tone_gen_descriptor().

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.

Parameters:
s The ADSI transmit context.
msg The message.
len The length of the message.
Returns:
The length actually added. If a message is already in progress in the transmitter, this function will return zero, as it will not successfully add the message to the buffer.

References crc_itu16_calc(), and dtmf_tx_put().

int adsi_tx_release ( adsi_tx_state_t s  ) 

Release an ADSI transmit context.

Parameters:
s The ADSI transmit context.
Returns:
0 for OK.

void adsi_tx_send_alert_tone ( adsi_tx_state_t s  ) 

Request generation of an ADSI alert tone.

Parameters:
s The ADSI transmit context.

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.

Parameters:
s The ADSI transmit context.
preamble_len The number of bits of preamble.
preamble_ones_len The number of bits of continuous one before a message.
postamble_ones_len The number of bits of continuous one after a message.
stop_bits The number of stop bits per character.

Referenced by adsi_tx_init().


Generated on Tue Aug 4 03:36:17 2009 for spandsp by  doxygen 1.5.9