I noticed this problem, too. I came up with a workaround in my module code, but it creates a memory leak in the OpenSER base code.
Eliot Gable Operations Engineer CCNA, CWNA, CWSP, Network+, Security+ Broadvox, LLC 1228 Euclid Avenue Suite 390 Cleveland, OH 44115-1800 216-373-4808 > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Marco Holmer > Sent: Tuesday, January 16, 2007 9:41 AM > To: [email protected] > Subject: [Devel] local ACK from/to headers > > Hi developers, > > > Could someone shed some light on the creation of local ACKs: > why are the > To and From headers constructed differenty? > To header gets copied from the response to the parameter uas_to but > From header is taken from the transaction (the inital request's From > header). > > This results in a faulty From header in a case where rewritings are > configured (through textops) in both headers mentioned, where the ACK > should match the original Request. Would it not be easier to > copy both > headers from the arriving response? > > kind regards > Marco > > > ---- > modules/tm/t_msgbuilder.c > > 183 char *build_local(struct cell *Trans,unsigned int branch, > 184 unsigned int *len, char *method, int > method_len, str *uas_to) > 185 { > 186 char *cancel_buf, *p, *via; > 187 unsigned int via_len; > 188 struct hdr_field *hdr; > 189 struct sip_msg *req; > 190 char branch_buf[MAX_BRANCH_PARAM_LEN]; > 191 str branch_str; > 192 struct hostport hp; > 193 str from; > 194 str to; > 195 str cseq_n; > 196 > 197 req = Trans->uas.request; > 198 from = Trans->from; > 199 cseq_n = Trans->cseq_n; > 200 to = *uas_to; > > > > _______________________________________________ > Devel mailing list > [email protected] > http://openser.org/cgi-bin/mailman/listinfo/devel > _______________________________________________ Devel mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/devel
