# HG changeset patch # User Mychaela Falconia # Date 1664165102 28800 # Node ID 9aed16c30622edfec15e5089adbbe4bf203d3ddc # Parent f24bbfd23c9df95191385eb37951b60ce84b0d4c mgw p2g: set M bit when restarting forwarding after no-forward diff -r f24bbfd23c9d -r 9aed16c30622 mgw/pstn2gsm.c --- a/mgw/pstn2gsm.c Sun Sep 25 19:32:27 2022 -0800 +++ b/mgw/pstn2gsm.c Sun Sep 25 20:05:02 2022 -0800 @@ -109,8 +109,14 @@ ep->p2g_last_ts = ntohl(pkt.tstamp); ep->p2g_last_seq = ntohs(pkt.seq); /* actual transcoding and forwarding */ - if (!(ep->fwd_mode & TMGW_FWD_ENABLE_PSTN2GSM)) + if (!(ep->fwd_mode & TMGW_FWD_ENABLE_PSTN2GSM)) { + ep->p2g_drop_flag = 1; return; + } + if (ep->p2g_drop_flag) { + ep->p2g_drop_flag = 0; + m_out = 1; + } for (n = 0; n < SAMPLES_PER_FRAME; n++) pcm_samples[n] = pcm_dec_table[pkt.payload[n]]; pkt.m_pt = ep->gsm_payload_type; diff -r f24bbfd23c9d -r 9aed16c30622 mgw/struct.h --- a/mgw/struct.h Sun Sep 25 19:32:27 2022 -0800 +++ b/mgw/struct.h Sun Sep 25 20:05:02 2022 -0800 @@ -33,6 +33,7 @@ uint32_t p2g_last_ts; uint16_t p2g_last_seq; uint16_t p2g_out_seq; + int p2g_drop_flag; int p2g_err_flags; /* linked list management */ unsigned ep_id;