# IncomingCall

IncomingCall represents the incoming call state and the UI when a user receives a call from someone else.

It represents the details of the user calling you, allows accepting or rejecting the call, etc.

It is customizable using our UI cookbook guide on [Custom Incoming/Outgoing Call components](/video/docs/react-native/ui-cookbook/incoming-and-outgoing-call/).

![Preview of the IncomingCall component.](@video/react-native/_assets/ui-components/call/incoming-call/incoming-call.png)

## General Usage

```tsx
import {
  CallingState,
  IncomingCall,
  useCall,
  useCalls,
  useCallStateHooks,
} from "@stream-io/video-react-native-sdk";

const CallPanel = () => {
  const call = useCall();
  const isCallCreatedByMe = call?.data?.created_by.id === call?.currentUserId;
  const { useCallCallingState } = useCallStateHooks();

  const callingState = useCallCallingState();

  // Display the incoming call if the call state is RINGING and the call is not created by me, i.e., recieved from others.
  if (callingState === CallingState.RINGING && !isCallCreatedByMe) {
    return <IncomingCall />;
  }
};

const Call = () => {
  const calls = useCalls();

  return (
    <StreamCall call={calls[0]}>
      <CallPanel />
    </StreamCall>
  );
};
```

## Props

### `landscape`

<partial id="video/react-native/_partials/common-content/ui-components/call/call-content/landscape"></partial>

### `onAcceptCallHandler`

| Type                        |
| --------------------------- |
| `() => void` \| `undefined` |

Handler to be executed when an incoming call is accepted.

### `onRejectCallHandler`

| Type                        |
| --------------------------- |
| `() => void` \| `undefined` |

Handler to be executed when an incoming call is rejected.

### `IncomingCallControls`

Prop to customize the Incoming call controls in the `IncomingCall` component.

| Type                          | Default Value                                                                                                                                                        |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ComponentType`\| `undefined` | [`IncomingCallControls`](https://github.com/GetStream/stream-video-js/blob/main/packages/react-native-sdk/src/components/Call/CallControls/IncomingCallControls.tsx) |

---

This page was last updated at 2025-08-15T14:16:45.121Z.

For the most recent version of this documentation, visit [https://getstream.io/video/docs/react-native/ui-components/call/incoming-call/](https://getstream.io/video/docs/react-native/ui-components/call/incoming-call/).