Hi,
I tried many things but none seems to work. I am using ser 0.8.4.
With the following code in ser.cfg, every time a REGISTER arrives with
the 33XXXXXX format, the request is logged in my duplicates log, but the
subst line does not seem to work. I tried replace and replace_all also,
but no luck.
I though that maybe the exported shell variables I am dumping in my log
file are not updated after the subst, but a serctl ul show clearly
display only the 33XXXXXX numbers in the location database.
Here is the code I am using :
if (method=="REGISTER") {
save("location");
exec_msg("echo -e REGISTER `date` '\n' `printenv
| grep SIP` '\n' >> /var/log/ser-register.log");
if (search("^From.*sip:33.*")) {
subst('/sip\:33/sip\:0/g');
save_noreply("location");
exec_msg("echo -e REGISTER DUP `date`
'\n' `printenv | grep SIP` '\n' >>
/var/log/ser-register-dup.log");
break;
}
break;
};
Any idea ?
Alan Litster wrote:
Hi,
Thanks for your reply.
Alan Litster wrote:
Doing it the way you've suggested would mean
modifying the From and To
Indeed. I already tried that, using the replace() / replace_all()
textops functions, but I could not even manage to have the header
modified. It just did nothing at all ....
I've had the situation where I've needed to update the Refer-To: header as
the gateway was unable to handle it in a satisfactory manor. For this I used
the subst function in the textops module, I'm not sure if this functions any
differently to the replace functions.
Besides, in the recent thread Re: [Serusers] HF
replace, someone said
that modifying From: and To "is not allowed".
It's recomended not too, though most people want to modify the From on
INVITE's. It may not be such a problem on a REGISTER method, just do a
save_noreply("location")
But I am wondering ... ain't it the
"Contact:" header which is used by
register.so/usrloc.so ?
It's Contact header is used as the location of the UAC,
'username@ipaddress_of_uac'. The From/To fields are used as the username
part on the sip registrar, generally the From/To are the same though may not
always be the case.
See
http://www.faqs.org/rfcs/rfc3261.html section 10.2
fields,
then doing a save. This should in theory all the UAC to
register on
the two addresses, it could get a little messy.
I agree. I anticipate a few issues on that side.
An alternative would be to create an alias, this
would be fine
if you knew
before hand what format they would register with.
Well, I know which server will send what format, and I can afford to
hardcode the IPs in the ser.cfg. But after reading the section about
aliases in the ser Admin's manual, I must confess it is not clear for
me. Could you elaborate on that idea ?
In your example you want lookup("33122334455") to return the same as
lookup("0122334455"). Well if 33122334455 is an alias for 0122334455 it
will. First it does an alias lookup of 33122334455(a)mydomain.com which
replaces the r-uri with 0122334455(a)mydomain.com then it does a lookup on
that, finds a match and does a further replace with 0122334455(a)1.2.3.4 (The
IP address of the UAC from the Contact record)
>-----Original Message-----
>From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]On
>Behalf Of Jerome Martin
>Sent: 04 May 2005 15:16
>To: serusers(a)lists.iptel.org
>Subject: [Serusers] I need to alter and duplicate REGISTER saves
>
>
>Hello everyone,
>
>After looking everywhere in the docs and ML archives, I couldn't find a
>way to solve my problem, so I would appreciate any help.
>
>We have several iPBX servers sending REGISTERs to a SER registrar. Some
>of those servers send us the numbers to register as aor in the form
>0XXXXXXXXX (local numbering plan), some other in the form 33XXXXXXXXX
>(local country code prefix). For various reasons, we need to handle
>those different REGISTERs simultaneously, and be able to lookup both
>formats in the location database.
>
>What I'm looking for is a way to "duplicate" the REGISTER entries, i.e.
>when ser receives a REGISTER for 33XXXXXXXXX, I'd like it to save() the
>33XXXXXXXXX, but also create an entry for the corresponding 0XXXXXXXXX.
>
>Example : SER receives a REGISTER request for 33122334455. I'd like to
>have two aors in the location database, so that lookup("33122334455")
>and lookup("0123344556") would both return the same thing.
>
>What I have in mind is something like this :
>
>if (method=="REGISTER") {
> # Always save the original aor
> save("location");
>
> # If the number starts with 33, also save a duplicate aor in the
>0XXXXXXXXX format
> if (search("^From.*sip:33.*")) {
>
> # Insert some code to alter the received SIP message and
>
>
change the
#
number in order to save the 0XXXXXXXXX aor
# ...
# ...
# ...
save("location");
break;
}
break;
};
Can anyone help ?
Best Regards,
Jerome Martin
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
-----------------------------------------------------------------
----------------------------
This email, and any files transmitted with it, is
copyright and
may contain confidential information.
The contents are intended for the use of the
addressee(s) only.
Unauthorized use may be unlawful.
If you receive this email by mistake, please advise sender immediately.
The views of the author may not necessarily constitute the views
of the company.
Nothing in this mail shall bind the company in any
contract or
obligation.
>Tel +44 (0) 20 8002 6000
>Fax +44 (0) 20 8002 6060
>
>______________________________________________________________________
>This email has been scanned by the MessageLabs Email Security System.
>For more information please visit
http://www.messagelabs.com/email
>______________________________________________________________________
>
>
>
>
---------------------------------------------------------------------------------------------
This email, and any files transmitted with it, is copyright and may contain confidential
information.
The contents are intended for the use of the addressee(s) only.
Unauthorized use may be unlawful.
If you receive this email by mistake, please advise sender immediately.
The views of the author may not necessarily constitute the views of the company.
Nothing in this mail shall bind the company in any contract or obligation.
Tel +44 (0) 20 8002 6000
Fax +44 (0) 20 8002 6060
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit
http://www.messagelabs.com/email
______________________________________________________________________