diff -urN asterisk-1.6.1.11/channels/chan_sip.c asterisk-1.6.1.11-constantssrc-debug/channels/chan_sip.c --- asterisk-1.6.1.11/channels/chan_sip.c 2009-11-30 15:51:28.000000000 -0500 +++ asterisk-1.6.1.11-constantssrc-debug/channels/chan_sip.c 2009-12-03 21:17:18.000000000 -0500 @@ -4763,6 +4763,7 @@ ast_rtp_set_rtpholdtimeout(dialog->rtp, peer->rtpholdtimeout); ast_rtp_set_rtpkeepalive(dialog->rtp, peer->rtpkeepalive); if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_CONSTANT_SSRC)) { + ast_verbose("create_addr_from_peer: setting constantsrc flag for audio\n"); ast_rtp_set_constantssrc(dialog->rtp); } /* Set Frame packetization */ @@ -4776,6 +4777,7 @@ ast_rtp_set_rtpholdtimeout(dialog->vrtp, peer->rtpholdtimeout); ast_rtp_set_rtpkeepalive(dialog->vrtp, peer->rtpkeepalive); if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_CONSTANT_SSRC)) { + ast_verbose("create_addr_from_peer: setting constantsrc flag for video\n"); ast_rtp_set_constantssrc(dialog->vrtp); } } @@ -6766,6 +6768,11 @@ ast_rtp_set_rtptimeout(p->rtp, global_rtptimeout); ast_rtp_set_rtpholdtimeout(p->rtp, global_rtpholdtimeout); ast_rtp_set_rtpkeepalive(p->rtp, global_rtpkeepalive); + if (ast_test_flag(&p->flags[1], SIP_PAGE2_CONSTANT_SSRC)) { + ast_verbose("sip_pvt: setting constantsrc flag for audio\n"); + ast_rtp_set_constantssrc(p->rtp); + } + if (p->vrtp) { ast_rtp_setqos(p->vrtp, global_tos_video, global_cos_video, "SIP VRTP"); ast_rtp_setdtmf(p->vrtp, 0); @@ -6773,6 +6780,10 @@ ast_rtp_set_rtptimeout(p->vrtp, global_rtptimeout); ast_rtp_set_rtpholdtimeout(p->vrtp, global_rtpholdtimeout); ast_rtp_set_rtpkeepalive(p->vrtp, global_rtpkeepalive); + if (ast_test_flag(&p->flags[1], SIP_PAGE2_CONSTANT_SSRC)) { + ast_verbose("sip_pvt: setting constantsrc flag for video\n"); + ast_rtp_set_constantssrc(p->vrtp); + } } if (p->trtp) { ast_rtp_setqos(p->trtp, global_tos_text, global_cos_text, "SIP TRTP"); @@ -18989,9 +19000,11 @@ } if (ast_test_flag(&p->flags[1], SIP_PAGE2_CONSTANT_SSRC)) { if (p->rtp) { + ast_verbose("handle_request_invite: setting constantsrc flag for audio\n"); ast_rtp_set_constantssrc(p->rtp); } if (p->vrtp) { + ast_verbose("handle_request_invite: setting constantsrc flag for video\n"); ast_rtp_set_constantssrc(p->vrtp); } } diff -urN asterisk-1.6.1.11/main/rtp.c asterisk-1.6.1.11-constantssrc-debug/main/rtp.c --- asterisk-1.6.1.11/main/rtp.c 2009-11-30 12:51:16.000000000 -0500 +++ asterisk-1.6.1.11-constantssrc-debug/main/rtp.c 2009-12-03 21:24:30.000000000 -0500 @@ -2619,7 +2619,12 @@ if (rtp) { rtp->set_marker_bit = 1; if (!rtp->constantssrc) { + unsigned int prev_ssrc = rtp->ssrc; rtp->ssrc = ast_random(); + ast_verbose("ast_rtp_new_source: constantssrc is %d, prev ssrc is %d, ssrc is %d\n", rtp->constantssrc, prev_ssrc, rtp->ssrc); + } + else { + ast_verbose("ast_rtp_new_source: constantssrc is %d, ssrc is %d\n", rtp->constantssrc, rtp->ssrc); } } }