Reference.GSMVCSHangCall History

Hide minor edits - Show changes to markup

November 30, 2012, at 09:43 PM by Scott Fitzgerald -
Changed lines 7-8 from:

Hang up an established call or during incoming rings. Depending on the modems mode (synchronous or asynchronous) the method will returns differently, see below for more detail.

to:

Hang up an established call or during incoming rings. Depending on the modems mode (synchronous or asynchronous) the method will return differently, see below for more detail.

November 30, 2012, at 09:43 PM by Scott Fitzgerald -
Added lines 25-107:

// libraries

  1. include <GSM.h>

// PIN Number

  1. 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);

}

November 16, 2012, at 01:01 AM by Scott Fitzgerald -
Changed lines 7-8 from:

Tells the server to stop listening for incoming connections.

to:

Hang up an established call or during incoming rings. Depending on the modems mode (synchronous or asynchronous) the method will returns differently, see below for more detail.

Changed lines 15-16 from:
to:

none

Changed lines 18-19 from:
to:

int
In asynchronous mode, hangCall() returns 0 if the last command is still executing, 1 if there is success, and >1 in case of an error. In synchronous mode, it returns 1 if the call is hung, 0 if not.

October 26, 2012, at 05:34 PM by Scott Fitzgerald -
Added lines 1-26:

Share