Hi folks, very new to Livekit and looking for guidance on the new Phone Numbers feature. Our FastAPI backend:
1. Creates a SIP dispatch rule with CreateSIPDispatchRule
2. Calls PhoneNumberService.UpdatePhoneNumber with that rule ID to bind a purchased number.
Even after deleting any old rules, LiveKit consistently responds:
LiveKit PhoneNumberService.UpdatePhoneNumber failed:
{\"code\":\"internal\",\"msg\":\"twirp error unknown: failed to update phone number: SDR_UwN8SLib2aQc is a catch all dispatch rule. To prevent traffic to other numbers and trunks from being affected, those cannot be assigned via the phone number api. Use the dispatch rule APIs to make this change once you are sure that's what you want.\"}"}
If we manually edit the rule in the Cloud console and choose the phone number under “Inbound routing,” the UI shows PN_xxx, but calls don’t go through and the next API save creates another rule that still looks catch-all.
Questions:
1.Is there a way to make CreateSIPDispatchRule non–catch-all purely via API so UpdatePhoneNumber accepts it?
2.Can we supply the PN_xxx identifier during rule creation, or is the only supported flow to assign via the console/CLI?
3.Are there known limitations with the new Phone Number feature that would require sticking with traditional trunk setups for now?
Any pointers or examples would be hugely appreciated, we’d love to let users assign workflows to purchased numbers with a single button. Thanks.