Marco Holmer wrote:
Well, my workaround includes an additional parameter to build_local just as the one for the from header which is quite painless as the function is used only once in the code. I put that under control of a module parameter, all rather simple but if anybody would be interested in a patch (1.0.0 though) I am happy to share.

Please post patches on the bugtracker at sourceforge for the developers to review.

thanks
klaus


regards,
Marco

Eliot Gable schrieb:
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


--
Klaus Darilion
nic.at


_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to