# Package com.codename1.call.session

package com.codename1.call.session

Reporting calls to the operating system, and hearing what the user does with them.

`Calls` is the entry point. A call reported here appears wherever the system shows calls -- the lock screen, the car, the watch, the call log -- and the answer, hold, mute and keypad the user reaches for there arrive back as `CallActionListener` events.

Referencing this package makes the build ask for the machinery: CallKit on iOS, a self-managed `ConnectionService` and `MANAGE_OWN_CALLS` on Android. It does not ask for the VoIP background mode -- that is `com.codename1.call.voip`, and Apple rejects an app that carries it without cause.

##### This package carries no audio

Nothing here encodes, transports or plays anything. The system hands the call its audio session and the app starts its own media then -- see `CallAudioSession`, which is the single most common thing to get wrong.

- Related Packages
  Package
  Description
  com.codename1.call
  System call integration: making a call this app carries look, to the operating system and to the user, like a call the phone itself placed.
  com.codename1.call.directory
  Naming and blocking numbers, for calls this app has nothing to do with.
  com.codename1.call.spi
  The seam between the portable `com.codename1.call` API and each platform's native call stack.
  com.codename1.call.voip
  Ringing when the app is not running.
- Class
  Description
  CallAction
  Something the system is asking the app to do to a call: the user pressed answer on the lock screen, hung up from the car, or tapped the keypad.
  CallActionAdapter
  A `CallActionListener` whose methods all do nothing, for overriding the few that matter.
  CallActionListener
  What the system asks of a call, and what it tells the app about one.
  CallAudioRoute
  Where a call's audio is going.
  CallAudioSession
  The moment the operating system hands a call its audio, and the moment it takes it back.
  CallConfiguration
  The calling identity this app presents to the operating system: the name shown above a call, the icon beside it, the ringtone, and what kinds of address the app understands.
  Calls
  System call integration: the entry point for reporting calls to the operating system and hearing what the user does with them.
  CallSession
  One call, from the system's point of view.