MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / get_via_branch

Function get_via_branch

modules/rtpengine/rtpengine_funcs.c:251–273  ·  view source on GitHub ↗

* Extract branch from Via header */

Source from the content-addressed store, hash-verified

249 * Extract branch from Via header
250 */
251int
252get_via_branch(struct sip_msg* msg, int vianum, str* _branch)
253{
254 struct via_body *via;
255 struct via_param *p;
256
257 if (parse_headers(msg, (vianum == 1) ? HDR_VIA1_F : HDR_VIA2_F, 0) < 0)
258 return -1;
259
260 via = (vianum == 1) ? msg->via1 : msg->via2;
261 if (!via)
262 return -1;
263 for (p = via->param_lst; p; p = p->next)
264 {
265 if (p->name.len == strlen("branch")
266 && strncasecmp(p->name.s, "branch", strlen("branch")) == 0) {
267 _branch->s = p->value.s;
268 _branch->len = p->value.len;
269 return 0;
270 }
271 }
272 return -1;
273}

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected