diff --git a/daemon/src/sip/sdp.cpp b/daemon/src/sip/sdp.cpp
index 3d3f09dc787a7c853b07cb91551d35fcb8f1df95..42bcac63df0894ef10c13b1badb18c360482965a 100644
--- a/daemon/src/sip/sdp.cpp
+++ b/daemon/src/sip/sdp.cpp
@@ -167,7 +167,8 @@ sfl::AudioCodec* Sdp::getSessionAudioMedia() const
 }
 
 
-pjmedia_sdp_media *Sdp::setMediaDescriptorLine(bool audio)
+pjmedia_sdp_media *
+Sdp::setMediaDescriptorLine(bool audio)
 {
     pjmedia_sdp_media *med = PJ_POOL_ZALLOC_T(memPool_, pjmedia_sdp_media);
 
@@ -225,7 +226,7 @@ pjmedia_sdp_media *Sdp::setMediaDescriptorLine(bool audio)
             std::ostringstream os;
             // FIXME: this should not be hardcoded, it will determine what profile and level
             // our peer will send us
-            os << "fmtp:" << dynamic_payload << " " << libav_utils::DEFAULT_H264_PROFILE_LEVEL_ID;
+            os << "fmtp:" << dynamic_payload << " " << libav_utils::MAX_H264_PROFILE_LEVEL_ID;
             med->attr[med->attr_count++] = pjmedia_sdp_attr_create(memPool_, os.str().c_str(), NULL);
         }
 #endif
diff --git a/daemon/src/video/libav_utils.h b/daemon/src/video/libav_utils.h
index 585d3201cb3ce1486dca1430c847dbbe40ad7c07..b695a66030aa472dbf410d323ac96a5bcdcfefc6 100644
--- a/daemon/src/video/libav_utils.h
+++ b/daemon/src/video/libav_utils.h
@@ -48,6 +48,7 @@ namespace libav_utils {
     std::vector<std::map<std::string, std::string> >
     getDefaultCodecs();
     const char *const DEFAULT_H264_PROFILE_LEVEL_ID = "profile-level-id=428014";
+    const char *const MAX_H264_PROFILE_LEVEL_ID = "profile-level-id=640034";
 }
 
 #endif // __LIBAV_UTILS_H__