Thanks for the feedback all.
I've been considering what to do with this issue, and I decided that it is better to (but more painful) to have the vendor fix their firmware than it is for me to alter SER's functionality in a way as to move it away from RFC compliance.
The save_extended_expires suggestion would be an easy fix, but the right thing to do is fix the problem rather than the symptom.
Regards, Paul
On 6/21/05, Samuel Osorio Calvo samuel.osorio@nl.thalesgroup.com wrote:
I was taking a more detailled look at the code and it seems that the Contact header will not be added into the reply if you use save_noreply+sl_send_reply because the Contact buffer is added inside the registrar module....but I recall that it worked. I suggest you to give it a try and see the answer with ethereal|ngrep|* maybe it is taken after when constructing the answer from the sipmsg. Anyhow it would be easy to add a save_extended_expires command that makes what you need but, as I said, people can start using these SIP patches to build even more non-compliant proxies with SER....
Samuel.
Unclassified.
"Greger V. Teigre" greger@teigre.com 06/21/05 07:19AM >>>
You're right of course :-) Samuel's approach is more correct, but I'm not sure you will be able to generate the correct reply using save_noreply and sl_reply (with Contact) ?! Does save_noreply generate the reply? g-)
---- Original Message ---- From: Java Rockx To: Greger V. Teigre Cc: serusers Sent: Monday, June 20, 2005 02:21 PM Subject: Re: [Serusers] Is there an AVP to alter "expires=" in REGISTERmessages?
Greger,
That would be possible, but the way SER generates the 200OK reply, it would contain the altered "expires=" value. By doing so, the ATA would take that new value and use it, so if the ATA sent the REGISTER with an expires=300 and SER replied with a 200OK and a contact header containing expires=360, the ATA would not send another REGISTER for 360 seconds.
I was fooling around with sip_msg.c and reply.c were I padded the expires with 60 seconds before saving to usrloc and then removing the pad before sending the reply and it works, but I would just feel better by not altering the source code.
I guess I'd just feel more comfortable if SER had some sort of AVP or modparam for the registrar module that did this automagically.
Regards, Paul
On 6/20/05, Greger V. Teigre greger@teigre.com wrote: It was supposed to be short, but maybe too short. I meant doing the subst on the REGISTER message before save. g-) ---- Original Message ---- From: Greger V. Teigre To: Java Rockx ; serusers Sent: Monday, June 20, 2005 09:01 AM Subject: Re: [Serusers] Is there an AVP to alter "expires=" in REGISTERmessages?
Hi Paul, Would it be possible to "do it upside down" ? ;-) I.e. do a subst("/^Expires:(.*)[0-9]$/ Expires: yourvalue+60/gi"); g-)
---- Original Message ---- From: Java Rockx To: serusers Sent: Sunday, June 19, 2005 04:28 PM Subject: [Serusers] Is there an AVP to alter "expires=" in REGISTER messages?
Hi All.
We've got some ATAs that don't quite re-REGISTER in a timely fashion and therefore SER expires the usrloc record a few seconds before the ATA sends another REGISTER message.
Is there an AVP or something to add, for example, 60 seconds to the "expires=" value in the REGISTER message prior to calling save()? By doing so, these "broken" ATAs would re-REGISTER before SER removes the usrloc record from cache.
Regards, Paul
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers