react-native-voice-sdk@0.4.2 uses custom ICE servers now - which saves us one patch - , but @telnyx/react-voice-commons-sdk does not rehydrate them after session restore
We verified that @telnyx/react-native-voice-sdk@0.4.2 now correctly consumes custom iceServers when they are present. That part works.
The missing piece is session restore: our app backgrounds/disconnects the Telnyx voice session and later rebuilds it from stored config. In that path, the ICE server list needs to be restored too. Right now the SDK can use ICE servers, but the commons restore path does not automatically rehydrate them from persisted state.
Our app runs with app-state management enabled, so backgrounding can tear down the voice session. If the ICE servers only exist during the initial login, they can be lost on refresh/reconnect.
After a rebuilt iOS run, our logs show the restored session still had:
storedConfigVersion = rtc-ice-v5
loginFromStoredConfig:result = true
iceServers: 2
That is working in our app because we added local persistence/rebuild glue.
Expected behavior
If custom ICE servers were supplied before disconnect, the same list should be restored and passed back into the Telnyx client automatically on session rehydration.
Actual behavior
react-native-voice-sdk@0.4.2 can use ICE servers when provided, but it does not solve rehydration by itself. Without commons-side persistence, the list is not guaranteed to survive a background disconnect / foreground restore cycle.
We currently persist and reload the ICE server list before login, then pass it back into the Telnyx client during restore.
Please add first-class ICE server rehydration support in the commons/session restore path so apps do not need local persistence glue just to keep TURN/STUN config alive across reconnects.
react-native-voice-sdk@0.4.2 uses custom ICE servers now - which saves us one patch - , but
@telnyx/react-voice-commons-sdkdoes not rehydrate them after session restoreWe verified that
@telnyx/react-native-voice-sdk@0.4.2now correctly consumes customiceServerswhen they are present. That part works.The missing piece is session restore: our app backgrounds/disconnects the Telnyx voice session and later rebuilds it from stored config. In that path, the ICE server list needs to be restored too. Right now the SDK can use ICE servers, but the commons restore path does not automatically rehydrate them from persisted state.
Our app runs with app-state management enabled, so backgrounding can tear down the voice session. If the ICE servers only exist during the initial login, they can be lost on refresh/reconnect.
After a rebuilt iOS run, our logs show the restored session still had:
storedConfigVersion = rtc-ice-v5loginFromStoredConfig:result = trueiceServers: 2That is working in our app because we added local persistence/rebuild glue.
Expected behavior
If custom ICE servers were supplied before disconnect, the same list should be restored and passed back into the Telnyx client automatically on session rehydration.
Actual behavior
react-native-voice-sdk@0.4.2 can use ICE servers when provided, but it does not solve rehydration by itself. Without commons-side persistence, the list is not guaranteed to survive a background disconnect / foreground restore cycle.
We currently persist and reload the ICE server list before login, then pass it back into the Telnyx client during restore.
Please add first-class ICE server rehydration support in the commons/session restore path so apps do not need local persistence glue just to keep TURN/STUN config alive across reconnects.