Media/WebRTC/Architecture: Difference between revisions

Line 181: Line 181:
=== Signaling System: SetRemote(Caller) ===
=== Signaling System: SetRemote(Caller) ===


http://www.websequencediagrams.com/?lz=dGl0bGUgU2lnbmFsaW5nIFRocmVhZHMgKENhbGxlcjogU2V0UmVtb3RlRGVzY3JpcHRpb24pCnBhcnRpY2lwYW50ICJET00AMQciIGFzIERPTQATDVBDIGFzIFBDACcOQ0NBUFBfVGFzawAwBQAKBQBKDVNUUyBhcyBTVFMKCkRPTSAtPiBQQzogRGlzcGF0Y2goAIEFFG4pClBDIC0-AEkGOiBJUEMoRkVBVFVSRV9TRVRSRU1PVEVTQykKCgpub3RlIG92ZXIAJAhQcm9jZXNzIFNEUAoKAIEZBQBhEnRhdGU9QW5zd2VyZWQAZAhET00ACRsAYwdyaWdodCBvZiBTVFM6IElDRS9EVExTIGNvbXBsZXRlClNUUwCBLQtNZWRpYSB0cmFuc3BvcnQgcmVhZHkAgSESU3RhcnQgc2VuZGluZy9yZWNlaXZpbmcgbWVkaWEKCg&s=
http://www.websequencediagrams.com/?lz=dGl0bGUgU2lnbmFsaW5nIFRocmVhZHMgKENhbGxlcjogU2V0UmVtb3RlRGVzY3JpcHRpb24pCnBhcnRpY2lwYW50ICJET00AMQciIGFzIERPTQATDVBDIGFzIFBDACcOQ0NBUFBfVGFzawAwBQAKBQBKDVNUUyBhcyBTVFMKCkRPTSAtPiBQQzogRGlzcGF0Y2goAIEDFlBDIC0-AEgGOiBJUEMoRkVBVFVSRV9TRVRSRU1PVEVTQykKCgpub3RlIG92ZXIAJAhQcm9jZXNzIFNEUAoAgRcFIC0-IFNUUwBnC0lDRSBDYW5kaWRhdGVzKQoAHgoAgQsOdGF0ZT1BbnN3ZXJlZACBCwhET00ACRsAgQoHcmlnaHQgb2YAcwZJQ0UvRFRMUyBjb21wbGV0ZQpTVFMAgVAPTWVkaWEgdHJhbnNwb3J0IHJlYWR5KQCBTRJTdGFydCBzZW5kaW5nL3JlY2VpdmluZyBtZWRpYQoK&s=
 
The above diagram shows the caller's SetRemote sequence.
 
The process starts with receiving the remote description and the JS calling SetRemoteDescription(). This is Dispatched() onto the PC thread and then to CCAPP_Task which processes the SD. Assuming everything is OK, it maks teh call answered and Dispatches a message up towards the DOM thread indicating that the state has changed. It also Dispatches the ICE candidates down to the STS thread so that ICE can proceed. Once ICE and DTLS handshaking are complete, a message is sent up to the CCAPP_Task, which can then start sending and receiving media on the working mtransport.


=== Thread diagram for transport subsystem ===
=== Thread diagram for transport subsystem ===


http://www.websequencediagrams.com/?lz=dGl0bGUgVHJhbnNwb3J0IFRocmVhZHMKcGFydGljaXBhbnQgUEMgYXMgUEMACA1TVFMgYXMgU1RTAB8NIk1lZGlhIFN0cmVhbSIgYXMgTQAMFUluABcGSU4AKxRPdXQANgZPVVQKUEMgLT4gUEM6IEFzc2VtYmxlIHQAgScJc3RhY2sAGAtTdGFydCBJQ0UAMAdTVFM6IENyZWF0ZSBzb2NrZXRzClNUUwBKCExvY2FsIElDRSBjYW5kaWRhdGVzL0RUTFMgZnAANgxSZW1vdGUAJAVDAAwdAHYKAFsLADIFb21wbGV0ZQByDABkBQAJEACBLQVPblMAgSgFUmVhZHkoKQCBKwhNSU46IE0AgXUJOjpQYQAgBmNlaXZlZCgpCk1JTgAgCVZpZU5ldHdvcms6OgAbCFJUUAAuBgAdD1NvdXJjZQCDOAUAgzYGOjpBcHBlbmRUb1RyYWNrKCkKbm90ZSByaWdodCBvZgCBBAcAg2gFcGxheXMKTQCBHAZTAA8HAIN8Bkxpc3RlbmVyOjpOb3RpZnlPdXRwdQB3BQCBSgZPVVQ6IERpc3BhdGNoKC4uLikKTU9VVAASClZpZUV4dGVybmFsQ2FwdHVyZTo6SW5jb21pbmdGcmFtZSgAIhAAghMMU2VuZACBZgkAgTEPAHYFAII6BiBzZW50IHRvIG4AgikGCg&s=default
http://www.websequencediagrams.com/?lz=dGl0bGUgVHJhbnNwb3J0IFRocmVhZHMKcGFydGljaXBhbnQgUEMgYXMgUEMACA1TVFMgYXMgU1RTAB8NIk1lZGlhIFN0cmVhbSIgYXMgTQAMFUluABcGSU4AKxRPdXQANgZPVVQKUEMgLT4gUEM6IEFzc2VtYmxlIHQAgScJc3RhY2sAGAtTdGFydCBJQ0UAMAdTVFM6IENyZWF0ZSBzb2NrZXRzClNUUwBKCExvY2FsIElDRSBjYW5kaWRhdGVzL0RUTFMgZnAANgxSZW1vdGUAJAVDAAwdAHYKAFsLADIFb21wbGV0ZQByDABkBQAJEACBLQVPblMAgSgFUmVhZHkoKQCBKwhNSU46IE0AgXUJOjpQYQAgBmNlaXZlZCgpCk1JTgAgCVZpZU5ldHdvcms6OgAbCFJUUAAuBgAdD1NvdXJjZQCDOAUAgzYGOjpBcHBlbmRUb1RyYWNrKCkKbm90ZSByaWdodCBvZgCBBAcAg2gFcGxheXMKTQCBHAZTAA8HAIN8Bkxpc3RlbmVyOjpOb3RpZnlPdXRwdQB3BQCBSgZPVVQ6IERpc3BhdGNoKC4uLikKTU9VVAASClZpZUV4dGVybmFsQ2FwdHVyZTo6SW5jb21pbmdGcmFtZSgAIhAAghMMU2VuZACBZgkAgTEPAHYFAII6BiBzZW50IHRvIG4AgikGCg&s=default
Confirmed users
214

edits