}
sip_pvt_lock(p);
+ while (sip_pvt_trylock(opp)) {
+ sip_pvt_unlock(p);
+ usleep(1);
+ sip_pvt_lock(p);
+ }
+
if (p->udptl && ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA)) {
if (apply_directmedia_ha(p, opp, "UDPTL T.38 data")) {
udptl = p->udptl;
}
}
+
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return udptl;
}
}
sip_pvt_lock(p);
+ while (sip_pvt_trylock(opp)) {
+ sip_pvt_unlock(p);
+ usleep(1);
+ sip_pvt_lock(p);
+ }
+
if (!(p->rtp)) {
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return AST_RTP_GLUE_RESULT_FORBID;
}
res = AST_RTP_GLUE_RESULT_FORBID;
}
+ sip_pvt_unlock(opp);
+
if (p->srtp) {
res = AST_RTP_GLUE_RESULT_FORBID;
}
}
sip_pvt_lock(p);
+ while (sip_pvt_trylock(opp)) {
+ sip_pvt_unlock(p);
+ usleep(1);
+ sip_pvt_lock(p);
+ }
+
if (!(p->vrtp)) {
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return AST_RTP_GLUE_RESULT_FORBID;
}
}
}
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return res;
}
sip_pvt_lock(p);
+ while (sip_pvt_trylock(opp)) {
+ sip_pvt_unlock(p);
+ usleep(1);
+ sip_pvt_lock(p);
+ }
+
if (!(p->trtp)) {
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return AST_RTP_GLUE_RESULT_FORBID;
}
}
}
+ sip_pvt_unlock(opp);
sip_pvt_unlock(p);
return res;