# Video Call using Sinch

To use video calls in your Chat SDK app, the first think you need to do is purchase the video call module:&#x20;

{% embed url="<https://chatsdk.co/downloads/sinch-video-calls>" %}

Once that is done, you will receive an archive containing the Sinch Video Call source code.&#x20;

Unzip this archive and put it in a known location. Then update your Podfile to add it as a development pod:&#x20;

```
pod "ChatSDKSinch", :path => "path/to/ChatSDKSinch"
```

Then run:

```
pod install
```

Now you need to activate your module. In the App Delegate, add the following:

For development:&#x20;

```
let modules = [
    ...
    SinchModule.shared().setup(key: "sinch key", secret: "sinch secret"),
]
```

In production:

```
SinchModule.shared().setup(key: "Sinch key", jwtProvider: { userId in
    return "generate a JWT on your server"
})
```

To get your Sinch key and secret, you will need to make an account on the Sinch website:&#x20;

{% embed url="<https://www.sinch.com>" %}

Click: **Voice and Video** -> Apps -> Create New App

Sinch allows you either to embed your secret inside the app (this is insecure so only appropriate for development). Or to authenticate with a JWT.&#x20;

To make the JWT, use this guide:&#x20;

{% embed url="<https://developers.sinch.com/docs/in-app-calling/js/application-authentication>" %}

Sinch for iOS uses VoIP push notifications. For that to work, you need to upload and Apple Push key to the Sinch dashboard:&#x20;

{% embed url="<https://developers.sinch.com/docs/in-app-calling/ios/push-notifications-callkit>" %}

Once this is done, you can start a call from either the chat screen (1-to-1 only) or the user's profile page.&#x20;
