mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
multi-stream: report an incoming call with a media list
Currently, an incoming call is always assumed to have either audio and video media or only audio media. This assumption was removed and the incoming call are reported with the list of included media with some of their attributes as found in the call invite (SDP). This will allow to process calls with an arbitrary number of media. It will also allow to add new media to a call by requesting a media change using a SIP re-invite (with new SDP). For instance, add video to an audio-only call. The peer will receive the new offer and may choose to accept or not the new media. Not all media change requests require validation from the user/client. Meaning that for instance, if a new SDP (media change request) is received to notify that the peer muted it's audio, the media change request can be processed without requiring validation from the user/client. Gitlab: #445 Change-Id: Ibc2b2501a3ec7e2c22f4e9d47cec3eda3dd43fef
This commit is contained in:

committed by
Adrien Béraud

parent
77bac126e7
commit
bac6a6e981
@ -35,6 +35,10 @@ public:
|
||||
virtual void voiceMailNotify(const std::string& accountId, int newCount, int oldCount, int urgentCount){}
|
||||
virtual void incomingMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& messages){}
|
||||
virtual void incomingCall(const std::string& account_id, const std::string& call_id, const std::string& from){}
|
||||
virtual void incomingCallWithMedia(const std::string& account_id, const std::string& call_id, const std::string& from,
|
||||
const std::vector<std::map<std::string, std::string>>& mediaList){}
|
||||
virtual void mediaChangeRequested(const std::string& account_id, const std::string& call_id,
|
||||
const std::vector<std::map<std::string, std::string>>& mediaList){}
|
||||
virtual void recordPlaybackFilepath(const std::string& id, const std::string& filename){}
|
||||
virtual void conferenceCreated(const std::string& conf_id){}
|
||||
virtual void conferenceChanged(const std::string& conf_id, const std::string& state){}
|
||||
@ -126,6 +130,10 @@ public:
|
||||
virtual void voiceMailNotify(const std::string& accountId, int newCount, int oldCount, int urgentCount){}
|
||||
virtual void incomingMessage(const std::string& id, const std::string& from, const std::map<std::string, std::string>& messages){}
|
||||
virtual void incomingCall(const std::string& account_id, const std::string& call_id, const std::string& from){}
|
||||
virtual void incomingCallWithMedia(const std::string& account_id, const std::string& call_id, const std::string& from,
|
||||
const std::vector<std::map<std::string, std::string>>& mediaList){}
|
||||
virtual void mediaChangeRequested(const std::string& account_id, const std::string& call_id,
|
||||
const std::vector<std::map<std::string, std::string>>& mediaList){}
|
||||
virtual void recordPlaybackFilepath(const std::string& id, const std::string& filename){}
|
||||
virtual void conferenceCreated(const std::string& conf_id){}
|
||||
virtual void conferenceChanged(const std::string& conf_id, const std::string& state){}
|
||||
|
@ -123,6 +123,8 @@ void init(const SWIGV8_VALUE& funcMap){
|
||||
exportable_callback<CallSignal::StateChange>(bind(&callStateChanged, _1, _2, _3)),
|
||||
exportable_callback<CallSignal::IncomingMessage>(bind(&incomingMessage, _1, _2, _3)),
|
||||
exportable_callback<CallSignal::IncomingCall>(bind(&incomingCall, _1, _2, _3)),
|
||||
exportable_callback<CallSignal::IncomingCallWithMedia>(bind(&incomingCallWithMedia, _1, _2, _3, _4)),
|
||||
exportable_callback<CallSignal::MediaChangeRequested>(bind(&mediaChangeRequested, _1, _2, _3)
|
||||
};
|
||||
|
||||
const std::map<std::string, SharedCallback> configEvHandlers = {
|
||||
|
Reference in New Issue
Block a user