# Package com.codename1.call.voip

package com.codename1.call.voip

Ringing when the app is not running.

`VoipPush` is the entry point, and its documentation carries the payload contract a server has to honour. The one idea to take from it: on iOS the call is reported to the operating system by native code before any of this app's code runs, because the platform requires it and kills the app otherwise. So a `PushedCall` is a call that is already ringing, not a request to start ringing one.

This is a separate package from `com.codename1.call.session` because it costs the `voip` background mode on iOS, and an app that carries that without a working call implementation is rejected.

- 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.session
  Reporting calls to the operating system, and hearing what the user does with them.
  com.codename1.call.spi
  The seam between the portable `com.codename1.call` API and each platform's native call stack.
- Class
  Description
  PushedCall
  A call that is already ringing when the app finds out about it.
  VoipPush
  Ringing when the app is not running.
  VoipPushListener
  Told about calls that arrived as VoIP pushes, and about the token needed to send them.