comparison mgw/pstn2gsm.c @ 97:9aed16c30622

mgw p2g: set M bit when restarting forwarding after no-forward
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 25 Sep 2022 20:05:02 -0800
parents f24bbfd23c9d
children 1579ec0e9fb9
comparison
equal deleted inserted replaced
96:f24bbfd23c9d 97:9aed16c30622
107 ep->p2g_state = 1; 107 ep->p2g_state = 1;
108 ep->p2g_ssrc = pkt.ssrc; 108 ep->p2g_ssrc = pkt.ssrc;
109 ep->p2g_last_ts = ntohl(pkt.tstamp); 109 ep->p2g_last_ts = ntohl(pkt.tstamp);
110 ep->p2g_last_seq = ntohs(pkt.seq); 110 ep->p2g_last_seq = ntohs(pkt.seq);
111 /* actual transcoding and forwarding */ 111 /* actual transcoding and forwarding */
112 if (!(ep->fwd_mode & TMGW_FWD_ENABLE_PSTN2GSM)) 112 if (!(ep->fwd_mode & TMGW_FWD_ENABLE_PSTN2GSM)) {
113 ep->p2g_drop_flag = 1;
113 return; 114 return;
115 }
116 if (ep->p2g_drop_flag) {
117 ep->p2g_drop_flag = 0;
118 m_out = 1;
119 }
114 for (n = 0; n < SAMPLES_PER_FRAME; n++) 120 for (n = 0; n < SAMPLES_PER_FRAME; n++)
115 pcm_samples[n] = pcm_dec_table[pkt.payload[n]]; 121 pcm_samples[n] = pcm_dec_table[pkt.payload[n]];
116 pkt.m_pt = ep->gsm_payload_type; 122 pkt.m_pt = ep->gsm_payload_type;
117 if (m_out) 123 if (m_out)
118 pkt.m_pt |= 0x80; 124 pkt.m_pt |= 0x80;