|
|
|
@ -236,46 +236,46 @@ struct rose_component {
|
|
|
|
|
} while (0)
|
|
|
|
|
|
|
|
|
|
/* Decoder for the invoke ROSE component */
|
|
|
|
|
extern int rose_invoke_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
int rose_invoke_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
|
|
|
|
|
/* Decoder for the return result ROSE component */
|
|
|
|
|
extern int rose_return_result_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
int rose_return_result_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
|
|
|
|
|
/* Decoder for the return error ROSE component */
|
|
|
|
|
extern int rose_return_error_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
int rose_return_error_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
|
|
|
|
|
/* Decoder for the reject ROSE component */
|
|
|
|
|
extern int rose_reject_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
int rose_reject_decode(struct pri *pri, struct q931_call *call, unsigned char *data, int len);
|
|
|
|
|
|
|
|
|
|
extern int asn1_copy_string(char * buf, int buflen, struct rose_component *comp);
|
|
|
|
|
int asn1_copy_string(char * buf, int buflen, struct rose_component *comp);
|
|
|
|
|
|
|
|
|
|
extern int asn1_string_encode(unsigned char asn1_type, void *data, int len, int max_len, void *src, int src_len);
|
|
|
|
|
int asn1_string_encode(unsigned char asn1_type, void *data, int len, int max_len, void *src, int src_len);
|
|
|
|
|
|
|
|
|
|
/* Get Name types from ASN.1 */
|
|
|
|
|
extern int asn1_name_decode(void * data, int len, char *namebuf, int buflen);
|
|
|
|
|
int asn1_name_decode(void * data, int len, char *namebuf, int buflen);
|
|
|
|
|
|
|
|
|
|
extern int typeofnumber_from_q931(struct pri *pri, int ton);
|
|
|
|
|
int typeofnumber_from_q931(struct pri *pri, int ton);
|
|
|
|
|
|
|
|
|
|
extern int redirectingreason_from_q931(struct pri *pri, int redirectingreason);
|
|
|
|
|
int redirectingreason_from_q931(struct pri *pri, int redirectingreason);
|
|
|
|
|
|
|
|
|
|
/* Queues an MWI apdu on a the given call */
|
|
|
|
|
extern int mwi_message_send(struct pri *pri, q931_call *call, struct pri_sr *req, int activate);
|
|
|
|
|
int mwi_message_send(struct pri *pri, q931_call *call, struct pri_sr *req, int activate);
|
|
|
|
|
|
|
|
|
|
/* starts a 2BCT */
|
|
|
|
|
extern int eect_initiate_transfer(struct pri *pri, q931_call *c1, q931_call *c2);
|
|
|
|
|
int eect_initiate_transfer(struct pri *pri, q931_call *c1, q931_call *c2);
|
|
|
|
|
|
|
|
|
|
extern int rlt_initiate_transfer(struct pri *pri, q931_call *c1, q931_call *c2);
|
|
|
|
|
int rlt_initiate_transfer(struct pri *pri, q931_call *c1, q931_call *c2);
|
|
|
|
|
|
|
|
|
|
/* Use this function to queue a facility-IE born APDU onto a call
|
|
|
|
|
* call is the call to use, messagetype is any one of the Q931 messages,
|
|
|
|
|
* apdu is the apdu data, apdu_len is the length of the apdu data */
|
|
|
|
|
extern int pri_call_apdu_queue(q931_call *call, int messagetype, void *apdu, int apdu_len, void (*function)(void *data), void *data);
|
|
|
|
|
int pri_call_apdu_queue(q931_call *call, int messagetype, void *apdu, int apdu_len, void (*function)(void *data), void *data);
|
|
|
|
|
|
|
|
|
|
/* Used by q931.c to cleanup the apdu queue upon destruction of a call */
|
|
|
|
|
extern int pri_call_apdu_queue_cleanup(q931_call *call);
|
|
|
|
|
int pri_call_apdu_queue_cleanup(q931_call *call);
|
|
|
|
|
|
|
|
|
|
/* Adds the "standard" APDUs to a call */
|
|
|
|
|
extern int pri_call_add_standard_apdus(struct pri *pri, q931_call *call);
|
|
|
|
|
int pri_call_add_standard_apdus(struct pri *pri, q931_call *call);
|
|
|
|
|
|
|
|
|
|
int asn1_dump(struct pri *pri, void *comp, int len);
|
|
|
|
|
|
|
|
|
|