This is a signal protocol support by protoo
method:join
data:{
"rid":"$roomid"
}
//success
ok:true
data:{}
//failed
ok:false
errCode:-1
when publisher join success, SFU broadcast "onPublish" to him
method:leave
data:{
"rid":"$roomid"
}
//success
ok:true
data:{}
//failed
ok:false
errCode:-1
method:publish
data:{
"jsep": {"type": "offer","sdp": "..."}
}
//success
ok:true
data:{
"jsep": {"type": "answer","sdp": "..."}
}
//failed
ok:false
errCode:-1
when publisher published success, SFU broadcast "onPublish" to others
method:onPublish
data:{
"pubid": "$pubid"
}
//success
ok:true
data:{}
//failed
ok:false
errCode:-1
client can subscribe $pubid when it get "onPublish"
method:subscribe
data:{
"pubid:"$pubid",
"jsep": {"type": "offer","sdp": "..."}
}
//success
ok:true
data:{
"jsep": {"type": "answer","sdp": "..."}
}
//failed
ok:false
errCode:-1
when publisher leave room, SFU broadcast "onUnpublish"
subscribers need to delete this pc and player when they receive "onUnpublish" ###request
method:onUnpublish
data:{
"pubid": "$pubid"
}
###response
//success
ok:true
data:{}
//failed
ok:false
errCode:-1
publishers can control their devices, like "muted" "close camera"..