- fix: ACK may contain SDP body, process it
This commit is contained in:
parent
ab78ddb984
commit
e9178c2a89
@ -1,5 +1,6 @@
|
|||||||
0.5.11
|
0.5.11
|
||||||
======
|
======
|
||||||
|
21-Apr-2005: - fix: ACK may contain SDP body, process it
|
||||||
19-Apr-2005: - feature: DSCP value for RTP packets defineable (by Nick
|
19-Apr-2005: - feature: DSCP value for RTP packets defineable (by Nick
|
||||||
Vermeer, Internet Express)
|
Vermeer, Internet Express)
|
||||||
15-Apr-2005: - feature: auto-save registration table during operation
|
15-Apr-2005: - feature: auto-save registration table during operation
|
||||||
|
|||||||
21
src/proxy.c
21
src/proxy.c
@ -270,15 +270,12 @@ int proxy_request (sip_ticket_t *ticket) {
|
|||||||
|
|
||||||
/* check for incoming request */
|
/* check for incoming request */
|
||||||
} else if (MSG_IS_INVITE(request)) {
|
} else if (MSG_IS_INVITE(request)) {
|
||||||
/* First, rewrite the body */
|
/* Rewrite the body */
|
||||||
if (configuration.rtp_proxy_enable == 1) {
|
sts = proxy_rewrite_invitation_body(request, DIR_INCOMING);
|
||||||
sts = proxy_rewrite_invitation_body(request, DIR_INCOMING);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
} else if (MSG_IS_ACK(request)) {
|
||||||
* Note: Incoming requests have no need to rewrite Contact
|
/* Rewrite the body */
|
||||||
* header - as we are not masquerading something there
|
sts = proxy_rewrite_invitation_body(request, DIR_INCOMING);
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -324,6 +321,8 @@ int proxy_request (sip_ticket_t *ticket) {
|
|||||||
/* if an INVITE, rewrite body */
|
/* if an INVITE, rewrite body */
|
||||||
if (MSG_IS_INVITE(request)) {
|
if (MSG_IS_INVITE(request)) {
|
||||||
sts = proxy_rewrite_invitation_body(request, DIR_OUTGOING);
|
sts = proxy_rewrite_invitation_body(request, DIR_OUTGOING);
|
||||||
|
} else if (MSG_IS_ACK(request)) {
|
||||||
|
sts = proxy_rewrite_invitation_body(request, DIR_OUTGOING);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if this is CANCEL/BYE request, stop RTP proxying */
|
/* if this is CANCEL/BYE request, stop RTP proxying */
|
||||||
@ -956,6 +955,7 @@ int proxy_rewrite_invitation_body(osip_message_t *mymsg, int direction){
|
|||||||
*/
|
*/
|
||||||
sts = osip_message_get_body(mymsg, 0, &body);
|
sts = osip_message_get_body(mymsg, 0, &body);
|
||||||
if (sts != 0) {
|
if (sts != 0) {
|
||||||
|
#if 0
|
||||||
if ((MSG_IS_RESPONSE_FOR(mymsg,"INVITE")) &&
|
if ((MSG_IS_RESPONSE_FOR(mymsg,"INVITE")) &&
|
||||||
(MSG_IS_STATUS_1XX(mymsg))) {
|
(MSG_IS_STATUS_1XX(mymsg))) {
|
||||||
/* 1xx responses *MAY* contain SDP data */
|
/* 1xx responses *MAY* contain SDP data */
|
||||||
@ -967,6 +967,11 @@ int proxy_rewrite_invitation_body(osip_message_t *mymsg, int direction){
|
|||||||
ERROR("rewrite_invitation_body: no body found in message");
|
ERROR("rewrite_invitation_body: no body found in message");
|
||||||
return STS_FAILURE;
|
return STS_FAILURE;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
DEBUGC(DBCLASS_PROXY, "rewrite_invitation_body: "
|
||||||
|
"no body found in message");
|
||||||
|
return STS_SUCCESS;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
sts = sip_body_to_str(body, &bodybuff, &bodybuflen);
|
sts = sip_body_to_str(body, &bodybuff, &bodybuflen);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user