FreeCalypso > hg > themwi-system-sw
view libsip/get_header.c @ 199:e6c7ced3c031
mgw: accept zero-length RTP payload as BFI
Mainline OsmoBTS now has an option (rtp continuous-streaming)
that causes it to emit an RTP packet every 20 ms without gaps,
sending a BFI marker in the form of zero-length RTP payload
when it has nothing else to send. These codec-independent
BFI markers don't indicate TAF, but this provision is a good
start. Accept this BFI packet format in themwi-mgw.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 29 Mar 2023 20:23:43 -0800 |
parents | 5427b26525cd |
children |
line wrap: on
line source
/* * In this module we implement functions for retrieving individual * header fields from struct sip_pkt_rx. */ #include <string.h> #include <strings.h> #include "parse.h" char * get_single_header(msg, name, altname, dupp) struct sip_pkt_rx *msg; char *name, *altname; int *dupp; { unsigned n; char *ret; for (n = 0; n < msg->num_hdr_fields; n++) { if (!strcasecmp(msg->hdr_fields[n].field_name, name)) break; if (altname && !strcasecmp(msg->hdr_fields[n].field_name, altname)) break; } if (n >= msg->num_hdr_fields) return 0; ret = msg->hdr_fields[n].field_value; if (!dupp) return ret; for (n++; n < msg->num_hdr_fields; n++) { if (!strcasecmp(msg->hdr_fields[n].field_name, name)) *dupp = 1; if (altname && !strcasecmp(msg->hdr_fields[n].field_name, altname)) *dupp = 1; } return ret; }