Skip to content

React Native Integration Not Working #13

@akatergi

Description

@akatergi

Hello,

I have been using VAPI in my web app for quite some time now, via the react module, and it has worked very smoothly and seamlessly. However, for the past 4 days I have been trying to integrate it in React Native using the module and its documentation, but nothing is working. I keep running into the same problem which prevents the call from occurring.

The "vapi.start" function successfully initializes the call, I know this because I console.logged the result of vapi.start and it looked like this {"assistantId": "722b4b8f-793d-4740-b61f-7b3921dc6ceb", "createdAt": "2025-03-07T10:24:25.743Z", "id": "7d978dc6-fdf4-42f4-89cf-d4a5d08db110", "monitor": {"controlUrl": "https://phone-call-websocket.aws-us-west-2-backend-production1.vapi.ai/7d978dc6-fdf4-42f4-89cf-d4a5d08db110/control", "listenUrl": "wss://[phone-call-websocket.aws-us-west-2-backend-production1.vapi.ai/7d978dc6-fdf4-42f4-89cf-d4a5d08db110/listen](http://phone-call-websocket.aws-us-west-2-backend-production1.vapi.ai/7d978dc6-fdf4-42f4-89cf-d4a5d08db110/listen)"}, "orgId": "1800131d-cfe1-4775-923b-ca4ce90296c7", "status": "queued", "transport": {"assistantVideoEnabled": false}, "type": "webCall", "updatedAt": "2025-03-07T10:24:25.743Z", "webCallUrl": "https://vapi.daily.co/lGm4bybRg9WWMKx06bMK"}.

But also the call never actually starts. I know this because my vapi.on("call-start") event listener is not firing. When I look for the call log on my VAPI dashboard, it says "No Microphone Permission". But I don't understand how this is happening, because as you can see in the recording I attached, audio permission is clearly given to the app. The code I attached from the repository also indicates this because when I console.log the result of requesting the permission it says "granted".

Simulator.Screen.Recording.-.iPhone.15.Plus.-.2025-03-07.at.15.29.57.mp4

Here is a GitHub repo where I replicated the issue: https://github.com/akatergi/apptest2. I usually follow these steps to get the app running:

  1. npm install --force, 2. npx pod install, 3. npx expo prebuild, 4. npx expo start:ios
    Upon running it, you will see the call button and the interactionState identifier in blue. Pressing the red button should turn the blue text from "inactive" to "started", and you should be able to hear an assistant that you can speak to, but that is not the case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions