sinch-in-app-calling

Integrate real-time voice and video calling into Android, iOS, and JavaScript apps.

9|4|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/sinch/skills --skill sinch-in-app-calling
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sinch-in-app-calling
Source: https://github.com/sinch/skills/tree/main/skills/sinch-in-app-calling
Command: npx skills add https://github.com/sinch/skills --skill sinch-in-app-calling

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

Integrate real-time voice and video calling into mobile and web applications without building signalling, PSTN routing, or push infrastructure from scratch. This Skill guides you through platform-specific SDK initialization, authentication, push configuration, and inbound call routing so your app can make and receive App-to-App, App-to-Phone, SIP, and conference calls reliably.

Core Features & Use Cases

  • Cross-platform SDK guidance: step-by-step init and lifecycle management for Android, iOS, and JavaScript (browser) clients.
  • Authentication & security: JWT-based registration patterns and recommendations for backend signing versus prototyping with embedded secrets.
  • Push & system integration: managed push setup (FCM, APNs/PushKit), CallKit/LiveCommunicationKit guidance, and service worker patterns for web.
  • Backend routing: ICE callback / connectMxp instructions to route PSTN or SIP inbound calls to in-app users.
  • Use Case: Turn a mobile app into a VoIP client that can receive PSTN calls routed to users via a backend ICE handler and show system-native incoming call UI.

Quick Start

Help me integrate Sinch In-App Calling for my Android (or iOS/Web) project and walk me through initializing the SinchClient, configuring push and permissions, and implementing backend JWT authentication for production.

Frequently Asked Questions about sinch-in-app-calling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add real-time voice and video calling to my mobile app?

To add real-time voice and video calling to a mobile app, initialize the SDK for your platform, configure system permissions, and set up JWT-based authentication for secure user registration. This enables reliable app-to-app and app-to-phone communications without building signalling from scratch.

What's the best way to receive PSTN calls in a VoIP app?

The best way to receive PSTN calls in a VoIP app is by implementing a backend ICE callback handler. This routes inbound PSTN or SIP calls to in-app users via the connectMxp interface, allowing standard phone numbers to reach application clients seamlessly.

How do I configure push notifications for VoIP calls on iOS and Android?

To configure push notifications for VoIP calls, set up APNs and PushKit for iOS, and FCM for Android. The SDK integration includes managed push configuration and system-native UI guidance like CallKit to display incoming call screens properly.

Do I need a backend server for JWT authentication when integrating WebRTC?

A backend server is required for JWT authentication in production WebRTC integrations to securely sign registration tokens. While prototyping can use embedded secrets, production environments require backend signing to protect credentials and manage user sessions safely.

Can I use in-app calling SDKs for both web browsers and mobile platforms?

In-app calling SDKs support JavaScript for web browsers alongside Android and iOS clients. Web implementations utilize service worker patterns for push notifications, while mobile platforms handle background processing and system-level call UI natively.

Why are my inbound SIP calls not routing to the app client?

Inbound SIP calls fail to route to app clients when backend ICE callback routing is misconfigured. Verify the connectMxp instructions and ensure the backend properly translates SIP signaling into in-app call events for the target user.