diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b385aa2a71a4f8ebc655c970ee8132cfa1d727c9..71e29c42d731a8bc0cadf8301aa2f734720c690e 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2607,7 +2607,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req)
 	int codec;
 	int iterator;
 	int sendonly = 0;
-	int x;
+	int x,y;
 	int debug=sip_debug_test_pvt(p);
 
 	/* Update our last rtprx when we receive an SDP, too */
@@ -2637,7 +2637,8 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req)
 	sdpLineNum_iterator_init(&iterator);
 	p->novideo = 1;
 	while ((m = get_sdp_iterate(&iterator, req, "m"))[0] != '\0') {
-		if ((sscanf(m, "audio %d RTP/AVP %n", &x, &len) == 1)) {
+		if ((sscanf(m, "audio %d RTP/AVP %n", &x, &len) == 1) ||
+		    (sscanf(m, "audio %d/%d RTP/AVP %n", &x, &y, &len) == 1)) {
 			portno = x;
 			/* Scan through the RTP payload types specified in a "m=" line: */
 			ast_rtp_pt_clear(p->rtp);