1 /*****************************************************************************\
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** call functions for channel driver **
10 \*****************************************************************************/
17 //#include <sys/types.h>
18 //#include <sys/stat.h>
21 //#define __u8 unsigned char
22 //#define __u16 unsigned short
23 //#define __u32 unsigned long
24 //#include "linux/isdnif.h"
28 * constructor for a new call
29 * the call will have a relation to the calling endpoint
31 CallChan::CallChan(class Endpoint *epoint) : Call(epoint)
35 PERROR("software error, epoint is NULL.\n");
39 PDEBUG(DEBUG_CALL, "creating new call and connecting it to the endpoint.\n");
41 c_type = CALL_TYPE_CHAN;
42 c_epoint_id = epoint->ep_serial;
44 PDEBUG(DEBUG_CALL, "Constructor(new call)");
57 /* release call from endpoint
58 * if the call has two relations, all relations are freed and the call will be
61 void CallChan::release(unsigned long epoint_id, int hold, int location, int cause)
65 PERROR("software error, epoint is NULL.\n");
71 PDEBUG(DEBUG_CALL, "call_release(): ended.\n");
75 /* call process is called from the main loop
76 * it processes the current calling state.
77 * returns 0 if call nothing was done
79 int CallChan::handler(void)
84 void CallChan::message_epoint(unsigned long epoint_id, int message_type, union parameter *param)