X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=message.h;h=68abd5d46d62e3c89004325cac3372e79ec55db1;hp=4cfc5b19e107a4619dc48e43b1aa19a716c0bb25;hb=acaf278f7f616d264afe480e4f9c64768540941b;hpb=877a2dfd52782f72ba2d28483212166f2326b1fa diff --git a/message.h b/message.h index 4cfc5b1..68abd5d 100644 --- a/message.h +++ b/message.h @@ -126,28 +126,36 @@ enum { /* isdnsignal */ mISDNSIGNAL_DELAY, /* use delay or adaptive jitter */ }; -enum { /* bchannel assignment */ - BCHANNEL_REQUEST, /* application requests bchannel */ - BCHANNEL_RELEASE, /* application releases bchannel */ - BCHANNEL_ASSIGN, /* bchannel assigned by LCR */ - BCHANNEL_ASSIGN_ACK, /* application acknowledges */ - BCHANNEL_REMOVE, /* bchannel removed by LCR */ - BCHANNEL_REMOVE_ACK, /* application acknowledges */ -}; enum { B_STATE_IDLE, /* not open */ B_STATE_ACTIVATING, /* DL_ESTABLISH sent */ B_STATE_ACTIVE, /* channel active */ B_STATE_DEACTIVATING, /* DL_RELEASE sent */ - B_STATE_EXPORTING, /* BCHANNEL_ASSIGN sent */ - B_STATE_REMOTE, /* bchannel assigned to remote application */ - B_STATE_IMPORTING, /* BCHANNEL_REMOVE sent */ }; + enum { B_MODE_TRANSPARENT, /* normal transparent audio */ B_MODE_HDLC, /* hdlc data mode */ }; +enum { + MEDIA_TYPE_ALAW = 1, + MEDIA_TYPE_ULAW, + MEDIA_TYPE_GSM, + MEDIA_TYPE_GSM_EFR, + MEDIA_TYPE_AMR, + MEDIA_TYPE_GSM_HR, +}; + +/* rtp-info structure */ +struct rtp_info { + int payloads; /* number of payloads offered */ + unsigned char payload_types[32];/* rtp payload types */ + int media_types[32]; /* media type of given payload */ + unsigned int ip; /* peer's IP */ + unsigned short port; /* peer's port */ +}; + /* call-info structure CALLER */ struct caller_info { char id[32]; /* id of caller (user number) */ @@ -176,6 +184,8 @@ struct dialing_info { int sending_complete; /* end of dialing */ char display[84]; /* display information */ char keypad[33]; /* send keypad facility */ + char context[32]; /* asterisk context */ + int flash; /* flash key caused setup of call */ }; /* call-info structure CONNECT */ @@ -191,6 +201,7 @@ struct connect_info { int screen; /* who provided the number */ char display[84]; /* display information */ char imsi[16]; /* IMSI for gsm terminated calls */ + struct rtp_info rtpinfo; /* info about RTP peer */ }; /* call-info structure DISCONNECT */ @@ -240,6 +251,7 @@ struct notify_info { struct progress_info { int progress; /* progress indicator */ int location; /* progress location */ + struct rtp_info rtpinfo; /* info about RTP peer */ }; /* call-info structure FACILITY */ @@ -266,8 +278,8 @@ struct message_setup { struct redir_info redirinfo; /* info on redirection (to the calling user) */ struct capa_info capainfo; /* info on l2,l3 capability */ struct useruser_info useruser; /* user-user */ -// struct progress_info progress; /* info on call progress */ - char context[128]; /* asterisk context */ + struct progress_info progress; /* info on call progress */ + struct rtp_info rtpinfo; /* info about RTP peer */ }; /* call-info structure PARK */ @@ -325,7 +337,18 @@ struct param_bchannel { struct param_newref { int direction; /* who requests a refe? */ - int mode; /* 0 = direct-mode, 1 = PBX mode */ + char interface[32]; /* interface name for selecting remote interface */ +}; + +struct param_traffic { + int len; /* how much data */ + unsigned char data[160]; /* 20ms */ +}; + +struct param_3pty { + int begin, end; + int invoke, result, error; + unsigned char invoke_id; }; /* structure of message parameter */ @@ -353,6 +376,9 @@ union parameter { struct param_bchannel bchannel; /* MESSAGE_BCHANNEL */ struct param_newref newref; /* MESSAGE_NEWREF */ unsigned int bridge_id; /* MESSAGE_BRIDGE */ + struct param_traffic traffic; /* MESSAGE_TRAFFIC */ + struct param_3pty threepty; /* MESSAGE_TRAFFIC */ + unsigned int queue; /* MESSAGE_DISABLE_DEJITTER */ }; enum { /* message flow */ @@ -406,6 +432,10 @@ enum { /* messages between entities */ MESSAGE_HELLO, /* hello message for remote application */ MESSAGE_NEWREF, /* special message to create and inform ref */ MESSAGE_BRIDGE, /* control port bridge */ + MESSAGE_TRAFFIC, /* exchange bchannel traffic */ + MESSAGE_3PTY, /* 3PTY call invoke */ + MESSAGE_TRANSFER, /* call transfer invoke */ + MESSAGE_DISABLE_DEJITTER/* tell (mISDN) port not to dejitter */ }; #define MESSAGES static const char *messages_txt[] = { \ @@ -441,6 +471,10 @@ enum { /* messages between entities */ "MESSAGE_HELLO", \ "MESSAGE_NEWREF", \ "MESSAGE_BRIDGE", \ + "MESSAGE_TRAFFIC", \ + "MESSAGE_3PTY", \ + "MESSAGE_TRANSFER", \ + "MESSAGE_DISABLE_DEJITTER", \ };