if (md && !sal_media_description_empty(md))
{
if (sal_media_description_has_dir(call->localdesc,SalStreamSendRecv)){
+ ms_message("Our local status is SalStreamSendRecv");
if (sal_media_description_has_dir (md,SalStreamRecvOnly) || sal_media_description_has_dir(md,SalStreamInactive)){
/* we are being paused */
if(lc->vtable.display_status)
res=SalStreamSendOnly;
if (offered==SalStreamInactive)
res=SalStreamInactive;
+ else
+ res=SalStreamSendRecv;
}else if (local==SalStreamSendOnly){
- if (offered==SalStreamSendOnly)
- res=SalStreamInactive;
if (offered==SalStreamRecvOnly)
res=SalStreamSendOnly;
- if (offered==SalStreamInactive)
- res=SalStreamInactive;
+ else res=SalStreamInactive;
}else if (local==SalStreamRecvOnly){
- if (offered==SalStreamSendOnly)
+ if (offered==SalStreamSendOnly || offered==SalStreamSendRecv)
res=SalStreamRecvOnly;
- if (offered==SalStreamRecvOnly)
- res=SalStreamInactive;
- if (offered==SalStreamInactive)
+ else
res=SalStreamInactive;
}else res=SalStreamInactive;
return res;
result->payloads=match_payloads(local_cap->payloads,remote_offer->payloads, FALSE, one_matching_codec);
result->proto=local_cap->proto;
result->type=local_cap->type;
- result->dir=compute_dir_incoming(result->dir,remote_offer->dir);
+ result->dir=compute_dir_incoming(local_cap->dir,remote_offer->dir);
if (result->payloads && !only_telephone_event(result->payloads)){
strcpy(result->addr,local_cap->addr);
result->port=local_cap->port;