Chelul în Swarm
Obiective
Acest articol are ca scop să descrie modul în care apelul va funcționa cu grupurile. Această metodă va permite clienților să ofere apel pentru mulți participanți cu un istoric de text comun. Protocolul trebuie să fie flexibil, să păstreze compatibilitatea cu stacul SIP, adn trebuie să lucreze într-un mediu distribuit. Acest mediu distribuit aduce, de asemenea, unele provocări, cum ar fi posibile condiții de cursă (unde mai multe părți pot începe o apelare în același timp). În sfârșit, deoarece Swarm poate fi cu membrii folosind doar telefoane mobile sau de către companii cu servere dedicate pentru a mixa videoclipul, ar trebui să fie capabil să lucreze cu cea mai bună experiență posibilă pe un mediu heterogen.
Definitorii
Un Rendezvous va amesteca toate apelurile autorizate intrante într-o conferință.
Pentru această funcție vor fi utilizate două noi URIs:
`swarm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
rdv:accountUri/deviceId/conversareId/confId
Swarm’s profile is the profile of the swarm stored in a vCard (
profile.vcf
, see Conversation’s profile synchronization and Sincronizare de profil)rdvUri
este URI-ul standard pentru un grup de persoane, setat în profilul grupului de persoane*
Notă: aceste două URI permit clientului să facă un apel pentru a se alătura unui Rendezvous sau să inițieze un apel către un cior, rezultând în logica descrisă în secțiunea următoare.
Pune un apel într-un grup
Fluxul propus:
a: Dacă
rdvUri
este setat:Spune-mi.
Dacă nu reuşeşti, merge la b:
b: în cazul în care există un apel activ curent:
Spune-mi.
Dacă nu reuşeşti, merge la c:
Altfel, găzduiţi un nou „Rendezvous” şi alăturaţi-vă.
De asemenea, întrebați utilizatorii dacă vor să fie gazda pentru următoarele apeluri.
! Diagram: plasarea unui apel într-un swarm
For each calls, two commits are added by the host of the call in the swarm. A first one to announce that a new call is starting and give information about who is hosting and the conference id. And a second to announce that the call is finished (so other peers can compute how many calls are currently active) and to get the duration of the call to show.
Apeluri de urmărire
Când primești un nou apel intrând, URI trebuie analizat. Dacă apelul intrând este pentru un Rendezvous care este găzduit în prezent de dispozitiv și sunătorul este autorizat să se alăture, apelul trebuie răspuns și adăugat la Rendezvous actual
Definirea unui gazde pentru un grup de oameni
Pentru a defini un URI de parapoartă, membruul care dorește să fie gazda trebuie să actualizeze profilul conversației, iar acest lucru va fi sincronizat și validat de colegii. Cu toate acestea, gazda trebuie să fie în măsură să accepte sau să nu fie gazda și un membru cu permise suficiente AR trebui să fie în măsură să solicite unui dispozitiv să fie gazda. Acest proces nu este decis pentru moment.
For now, only the administrator can add one of its device as the default host.
Viitorul
Să ne alăturăm notificărilor?
Membrii grupului care nu sunt în apel ar trebui să poată şti cine este în apeluri active.
Podul SIP?
Întrucât conferințele sunt încă apeluri mixte SIP, o punte SIP este încă posibilă. În profilul Swarm’s ar trebui să fie posibil să se adauge o intrare SIP, ca unele sisteme VoIP populare)