-
Notifications
You must be signed in to change notification settings - Fork 440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API "SIP dial-out" #10410
Comments
1. Request to send from Talk to backend endpoint of Signaling Server:
{
"type": "dialout",
"dialout": {
"number": "the-e164-number",
"options": {
"actorId": "the-actor-id",
"actorType": "the-actor-type",
...optional additional properties...
}
}
}
{
"type": "dialout",
"dialout": {
"callid": "the-call-id"
}
}
{
"type": "dialout",
"dialout": {
"error": {
"code": "error-code",
"message": "Human readable error.",
"details": {
...optional-details-object...
}
}
}
} |
2. API required in Talk to be called by SIP bridge workflow
|
3. Events sent to all sessions in a room for outgoing call status changesWill use transient data to store the state of outgoing calls. This is so sessions that are joining later will receive the current state of calls automatically. The key is Dial-out request was accepted for processing: {"callid":"the-call-id","status":"accepted"} Outgoing call is rejected by the SIP provider: {"callid":"the-call-id","status":"rejected","cause":"EndedByTemporarilyUnavailable","code":480,"message":"Temporarily Unavailable (Call limit)"} Outgoing call is ringing: {"callid":"the-call-id","status":"ringing"} Outgoing call is connected: {"callid":"the-call-id","status":"connected"} Outgoing call is cleared: {"callid":"the-call-id","status":"cleared","cause":"EndedByRemote"} Status entries for |
4. Existing API to notify joining / leaving
|
Draft PR for signaling server available at strukturag/nextcloud-spreed-signaling#563 |
|
|
@fancycode for the database structure:
|
Tech details
|
See #10410 (comment) for details on the call status with transient data. |
Possible SIP status codes are available e.g. from here: |
5. Send events to established calls (both incoming and outgoing)As DTMF and hangup also apply to incoming phone calls, I defined a generic way to send these: Basically you have to get the session id of phone calls from the |
The text was updated successfully, but these errors were encountered: