|
|
@ -11814,7 +11814,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
|
|
|
|
ast_log(LOG_WARNING, "Ooooh.. no tech! That's REALLY bad\n");
|
|
|
|
ast_log(LOG_WARNING, "Ooooh.. no tech! That's REALLY bad\n");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!strcasecmp(bridgepeer->tech->type,"SIP")) {
|
|
|
|
if (bridgepeer->tech == &sip_tech) {
|
|
|
|
bridgepvt = (struct sip_pvt*)(bridgepeer->tech_pvt);
|
|
|
|
bridgepvt = (struct sip_pvt*)(bridgepeer->tech_pvt);
|
|
|
|
if (bridgepvt->udptl) {
|
|
|
|
if (bridgepvt->udptl) {
|
|
|
|
if (p->t38.state == T38_PEER_REINVITE) {
|
|
|
|
if (p->t38.state == T38_PEER_REINVITE) {
|
|
|
@ -13555,7 +13555,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
|
|
|
|
if ((bridgepeer = ast_bridged_channel(p->owner))) {
|
|
|
|
if ((bridgepeer = ast_bridged_channel(p->owner))) {
|
|
|
|
/* We have a bridge, and this is re-invite to switchover to T38 so we send re-invite with T38 SDP, to other side of bridge*/
|
|
|
|
/* We have a bridge, and this is re-invite to switchover to T38 so we send re-invite with T38 SDP, to other side of bridge*/
|
|
|
|
/*! XXX: we should also check here does the other side supports t38 at all !!! XXX */
|
|
|
|
/*! XXX: we should also check here does the other side supports t38 at all !!! XXX */
|
|
|
|
if (!strcasecmp(bridgepeer->tech->type, "SIP")) { /* If we are bridged to SIP channel */
|
|
|
|
if (bridgepeer->tech == &sip_tech) {
|
|
|
|
bridgepvt = (struct sip_pvt*)bridgepeer->tech_pvt;
|
|
|
|
bridgepvt = (struct sip_pvt*)bridgepeer->tech_pvt;
|
|
|
|
if (bridgepvt->t38.state == T38_DISABLED) {
|
|
|
|
if (bridgepvt->t38.state == T38_DISABLED) {
|
|
|
|
if (bridgepvt->udptl) { /* If everything is OK with other side's udptl struct */
|
|
|
|
if (bridgepvt->udptl) { /* If everything is OK with other side's udptl struct */
|
|
|
@ -13609,7 +13609,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
|
|
|
|
struct ast_channel *bridgepeer = NULL;
|
|
|
|
struct ast_channel *bridgepeer = NULL;
|
|
|
|
struct sip_pvt *bridgepvt = NULL;
|
|
|
|
struct sip_pvt *bridgepvt = NULL;
|
|
|
|
if ((bridgepeer = ast_bridged_channel(p->owner))) {
|
|
|
|
if ((bridgepeer = ast_bridged_channel(p->owner))) {
|
|
|
|
if (!strcasecmp(bridgepeer->tech->type, sip_tech.type)) {
|
|
|
|
if (bridgepeer->tech == &sip_tech) {
|
|
|
|
bridgepvt = (struct sip_pvt*)bridgepeer->tech_pvt;
|
|
|
|
bridgepvt = (struct sip_pvt*)bridgepeer->tech_pvt;
|
|
|
|
/* Does the bridged peer have T38 ? */
|
|
|
|
/* Does the bridged peer have T38 ? */
|
|
|
|
if (bridgepvt->t38.state == T38_ENABLED) {
|
|
|
|
if (bridgepvt->t38.state == T38_ENABLED) {
|
|
|
|