Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes
GSM :
GSMVoiceCall
class
getVoiceCallStatus()
Description
Returns status of the voice call.
Syntax
voice.getVoiceCallStatus()
Parameters
none
Returns
char : IDLE_CALL, CALLING, RECEIVINGCALL, TALKING
Example
// libraries
#include <GSM.h>
// PIN Number
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess;
// include a 'true' parameter for debug enabled
GSMVoiceCall vcs;
char numtel[
20
]
; // buffer for the incoming call
void
setup
(
)
{
// initialize serial communications
Serial.begin
(
9600
)
;
Serial.println
(
"Receive Voice Call"
)
;
// connection state
boolean notConnected =
true
;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while
(notConnected)
{
if
(gsmAccess.begin
(PINNUMBER)
==GSM_READY)
notConnected =
false
;
else
{
Serial.println
(
"Not connected"
)
;
delay
(
1000
)
;
}
}
// This makes sure the modem notifies correctly incoming events
vcs.hangCall
(
)
;
Serial.println
(
"Waiting Call"
)
;
}
void
loop
(
)
{
// Check the status of the voice call
switch
(vcs.getvoiceCallStatus
(
)
)
{
case IDLE_CALL:
// Nothing is happening
break
;
case CALLING:
// This should never happen, as we are not placing a call
Serial.println
(
"CALLING"
)
;
break
;
case RECEIVINGCALL:
// Yes! Someone is calling us
Serial.println
(
"RECEIVING CALL"
)
;
// Retrieve the calling number
vcs.retrieveCallingNumber
(numtel,
20
)
;
// Print the calling number
Serial.print
(
"Number:"
)
;
Serial.println
(numtel)
;
// Answer the call, establish the call
vcs.answerCall
(
)
;
break
;
case TALKING: // In this case the call would be established
Serial.println
(
"TALKING. Enter line to interrupt."
)
;
while
(
Serial.read
(
)
!=
'\n'
)
delay
(
100
)
;
vcs.hangCall
(
)
;
Serial.println
(
"HANG. Waiting Call."
)
;
break
;
}
delay
(
1000
)
;
}
See Also
Reference Home
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.