Fix codec mismatch
authorIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Mon, 10 Dec 2012 06:56:04 +0000 (06:56 +0000)
committerIgor Goncharovskiy <igor.goncharovsky@gmail.com>
Mon, 10 Dec 2012 06:56:04 +0000 (06:56 +0000)
Fix code to send in both rx and tx open stream messages correct codecs. Found that on phase 0/1 phones wrong codecs cause to no audio in some situations.

(issue ASTERISK-20183)
........

Merged revisions 377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377592 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377593 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377594 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_unistim.c

index 2179cb6..ac4daa6 100644 (file)
@@ -2666,9 +2666,9 @@ static void send_start_rtp(struct unistim_subchannel *sub)
                        buffsend[16] = (htons(sin.sin_port) & 0x00ff);
                        buffsend[20] = (us.sin_port & 0xff00) >> 8;
                        buffsend[19] = (us.sin_port & 0x00ff);
-                       buffsend[11] = codec;
                }
-               buffsend[12] = codec;
+               buffsend[11] = codec; /* rx */
+               buffsend[12] = codec; /* tx */
                send_client(SIZE_HEADER + sizeof(packet_send_open_audio_stream_tx), buffsend, pte);
 
                if (unistimdebug) {
@@ -2697,9 +2697,9 @@ static void send_start_rtp(struct unistim_subchannel *sub)
                        buffsend[16] = (htons(sin.sin_port) & 0x00ff);
                        buffsend[20] = (us.sin_port & 0xff00) >> 8;
                        buffsend[19] = (us.sin_port & 0x00ff);
-                       buffsend[12] = codec;
                }
-               buffsend[11] = codec;
+               buffsend[11] = codec; /* rx */
+               buffsend[12] = codec; /* tx */
                send_client(SIZE_HEADER + sizeof(packet_send_open_audio_stream_rx), buffsend, pte);
        } else {
                uint16_t rtcpsin_port = htons(us.sin_port) + 1; /* RTCP port is RTP + 1 */