This is what I've done so far: - Call my virtual number, sinch server reaches to my backend with ICE event: {
event: 'ice',
callid: '...',
callResourceUrl: 'https://calling-euc1.api.sinch.com/calling/v1/calls/id/...',
timestamp: '...',
version: 1,
userRate: { currencyId: 'USD', amount: 0 },
cli: '-my-phone-number-',
to: { type: 'did', endpoint: '-my-virtual-number-' },
domain: 'pstn',
applicationKey: '...',
originationType: 'PSTN',
rdnis: ''
} - My server reaches the sinch client. - Invoke callConference function and put a random uuidv4 number in the function's argument-list. - Retrieve the random uuidv4 number and send it to the sinch server via SVAML's connectConf action. - Another ICE event has come: {
event: 'ice',
callid: '...',
callResourceUrl: 'https://calling-apse1.api.sinch.com/calling/v1/calls/id/...',
timestamp: '...',
version: 1,
custom: '{}',
user: 'MyUserId',
userRate: { currencyId: 'USD', amount: 0 },
cli: '-My-Virtual-Number-',
to: {
type: 'conference',
endpoint: '3602f098-9962-49a5-b090-...'
},
domain: 'mxp',
applicationKey: '...',
originationType: 'MXP',
rdnis: '',
callHeaders: []
} How to respond to the second ICE? Right now, I'm responding with connectConf and using the event endpoint as conferenceId: res.status(200).
send({
action: {
name: "connectConf",
conferenceId: 3602f098-9962-49a5-b090-...,
moh: "music2"
}
}); Once the last ICE event receives the response, sinch client ends the call in my client app. Moreover, my phone is still ringing and waiting for something.
... View more