diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/gsmd/usock.h | 51 | ||||
-rw-r--r-- | include/libgsmd/voicecall.h | 3 |
2 files changed, 54 insertions, 0 deletions
diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h index 4f1da7a..162599a 100644 --- a/include/gsmd/usock.h +++ b/include/gsmd/usock.h @@ -41,6 +41,44 @@ enum gsmd_msg_voicecall_type { GSMD_VOICECALL_DTMF = 4, GSMD_VOICECALL_VOL_SET = 5, GSMD_VOICECALL_VOL_GET = 6, + GSMD_VOICECALL_GET_STAT = 7, +}; + + +/* call direction from 3GPP TS 07.07, Clause 7.17 */ +enum gsmd_call_dire { + GSMD_CALL_DIRE_MO = 0, + GSMD_CALL_DIRE_MT = 1, +}; + +/* call state from 3GPP TS 07.07, Clause 7.17 */ +enum gsmd_call_stat { + GSMD_CALL_STAT_ACTIVE = 0, + GSMD_CALL_STAT_HELD = 1, + GSMD_CALL_STAT_DIALING = 2, + GSMD_CALL_STAT_ALERTING = 3, + GSMD_CALL_STAT_INCOMING = 4, + GSMD_CALL_STAT_WAITING = 5, +}; + +/* call mode from 3GPP TS 07.07, Clause 7.17 */ +enum gsmd_call_mode { + GSMD_CALL_MODE_VOICE = 0, + GSMD_CALL_MODE_DATA = 1, + GSMD_CALL_MODE_FAX = 2, + GSMD_CALL_MODE_VOICE_DATA = 3, + GSMD_CALL_MODE_VOICE_DATA_ALT = 4, + GSMD_CALL_MODE_VOICE_FAX_ALT = 5, + GSMD_CALL_MODE_DATA_VOICE = 6, + GSMD_CALL_MODE_DATA_VOICE_ALT = 7, + GSMD_CALL_MODE_FAX_VOICE_ALT = 8, + GSMD_CALL_MODE_UNKNOWN = 9, +}; + +/* multiparty(conference) from 3GPP TS 07.07, Clause 7.17 */ +enum gsmd_call_mpty { + GSMD_CALL_MPTY_NO = 0, + GSMD_CALL_MPTY_YES = 1, }; /* Handset / MT related commands */ @@ -308,6 +346,19 @@ struct gsmd_voicemail { struct gsmd_addr addr; } __attribute__ ((packed)); +/* call status from 3GPP TS 07.07 clause 07.17 */ +struct gsmd_call_status { + int8_t idx; + u_int8_t dir; + u_int8_t stat; + u_int8_t mode; + u_int8_t mpty; + char number[GSMD_ADDR_MAXLEN+1]; + u_int8_t type; + char alpha[8+1]; + int is_last; +} __attribute__ ((packed)); + #define GSMD_PIN_MAXLEN 8 struct gsmd_pin { enum gsmd_pin_type type; diff --git a/include/libgsmd/voicecall.h b/include/libgsmd/voicecall.h index 4141283..2d9609c 100644 --- a/include/libgsmd/voicecall.h +++ b/include/libgsmd/voicecall.h @@ -18,4 +18,7 @@ extern int lgsm_voice_hangup(struct lgsm_handle *lh); /* Send DTMF character during voice call */ extern int lgsm_voice_dtmf(struct lgsm_handle *lh, char dtmf_char); +/* Get call status */ +extern int lgsm_voice_get_status(struct lgsm_handle *lh); + #endif |