diff --git a/src/call.cpp b/src/call.cpp
index 9c12952c312483f5c78cd6107b6949b3cd3892af..c036d56c7c32e5377f120a1dcbdec4557df4c627 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -643,12 +643,30 @@ Call::setConferenceInfo(const std::string& msg)
     Json::CharReaderBuilder rbuilder;
     auto reader = std::unique_ptr<Json::CharReader>(rbuilder.newCharReader());
     if (reader->parse(msg.data(), msg.data() + msg.size(), &json, &err)) {
-        for (const auto& participantInfo : json) {
-            ParticipantInfo pInfo;
-            if (!participantInfo.isMember("uri"))
-                continue;
-            pInfo.fromJson(participantInfo);
-            newInfo.emplace_back(pInfo);
+        if (json.isObject()) {
+            // new confInfo
+            if (json.isMember("p")) {
+                for (const auto& participantInfo : json["p"]) {
+                    ParticipantInfo pInfo;
+                    if (!participantInfo.isMember("uri"))
+                        continue;
+                    pInfo.fromJson(participantInfo);
+                    newInfo.emplace_back(pInfo);
+                }
+            }
+            if (json.isMember("w"))
+                newInfo.w = json["w"].asInt();
+            if (json.isMember("h"))
+                newInfo.h = json["h"].asInt();
+        } else {
+            // old confInfo
+            for (const auto& participantInfo : json) {
+                ParticipantInfo pInfo;
+                if (!participantInfo.isMember("uri"))
+                    continue;
+                pInfo.fromJson(participantInfo);
+                newInfo.emplace_back(pInfo);
+            }
         }
     }
 
diff --git a/src/conference.h b/src/conference.h
index 1f84e3e418e4a6815284c1551e52880f9abffc6d..61aaefcede3d5558ee897de170d3471fd3dd0d5d 100644
--- a/src/conference.h
+++ b/src/conference.h
@@ -111,6 +111,8 @@ struct ParticipantInfo
 struct ConfInfo : public std::vector<ParticipantInfo>
 {
     std::vector<std::map<std::string, std::string>> toVectorMapStringString() const;
+    int h {0};
+    int w {0};
 };
 
 using ParticipantSet = std::set<std::string>;