Early media can be disabled even if the peer has a DataSource.

git-svn-id: http://voip.null.ro/svn/yate@609 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2005-12-15 20:51:42 +00:00
parent 7638dd3707
commit 6be14d724e
1 changed files with 5 additions and 1 deletions

View File

@ -1642,7 +1642,7 @@ SDPBody* YateSIPConnection::createProvisionalSDP(Message& msg)
if (m_rtpForward)
return createPasstroughSDP(msg);
// check if our peer can source at least audio data
if (!(getPeer() && getPeer()->getSource()))
if (!(getPeer() && getPeer()->getSource() && msg.getBoolValue("earlymedia",true)))
return 0;
if (m_rtpAddr.null())
return 0;
@ -2013,12 +2013,16 @@ bool YateSIPConnection::process(SIPEvent* ev)
setStatus("ringing",Ringing);
Message *m = message("call.ringing");
addRtpParams(*m,natAddr);
if (m_rtpAddr.null())
m->addParam("earlymedia","false");
Engine::enqueue(m);
}
if (msg->code == 183) {
setStatus("progressing");
Message *m = message("call.progress");
addRtpParams(*m,natAddr);
if (m_rtpAddr.null())
m->addParam("earlymedia","false");
Engine::enqueue(m);
}
if ((msg->code > 100) && (msg->code < 200))