From 5738001c0f2ab2c1fd6bee9dbfdec5414fb9bce0 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Fri, 28 Apr 2017 16:10:59 +0200 Subject: [PATCH] topos: proper storing of b-side record routing - special credits to Sergey Basov for troubleshooting (cherry picked from commit fec80f51a64ab102aca79c44d61c6c783b0baa46) --- src/modules/topos/tps_msg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/topos/tps_msg.c b/src/modules/topos/tps_msg.c index 41dcd90a551..462deddd6c4 100644 --- a/src/modules/topos/tps_msg.c +++ b/src/modules/topos/tps_msg.c @@ -443,8 +443,15 @@ int tps_pack_message(sip_msg_t *msg, tps_data_t *ptsd) ptsd->a_rr.len++; } else { /* sip response - get b-side record route */ + if(i==1) { + ptsd->b_rr.s = ptsd->cp; + } + if(i>1) { + *ptsd->cp = ','; + ptsd->cp++; + ptsd->b_rr.len++; + } *ptsd->cp = '<'; - ptsd->b_rr.s = ptsd->cp; ptsd->cp++; ptsd->b_rr.len++; memcpy(ptsd->cp, rr->nameaddr.uri.s, rr->nameaddr.uri.len);