hi all,
I need to route prefix to te one subscriber. It's something between PDT and ALIAS.
ALIAS The R-URI shoult not be replaced by one in the alias table PDT The voip domain is rewrited, but I need to leave the old one.
WHY ??? I want to connect some SIP PBX (asterisk) to our VoIP network and give them more numbers / prefix. I dont want to put it into routing logic eq (if sip:0123XX@domain; then).
The best case is to call some function as PREFIX, which will lookup into PREFIX, SUBCRIBER and LOCATION table and just call t_relay function.
Is there any other solution ???
best regards Peter Hudec
Hello,
On 02/15/06 12:58, Peter Hudec wrote:
hi all,
I need to route prefix to te one subscriber. It's something between PDT and ALIAS.
ALIAS The R-URI shoult not be replaced by one in the alias table PDT The voip domain is rewrited, but I need to leave the old one.
maybe setting the target domain in pdt to be the same as original one is one solution.
Otherwise, if you know the length of prefix and dialed number then you can strip the tail of dialed number so you get the prefix in username of r-uri. You associate the prefix with the user in aliases table, do the lookup and then the usual processing. To strip the tail use: http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#strip_tail_int
Cheers, Daniel
WHY ??? I want to connect some SIP PBX (asterisk) to our VoIP network and give them more numbers / prefix. I dont want to put it into routing logic eq (if sip:0123XX@domain; then).
The best case is to call some function as PREFIX, which will lookup into PREFIX, SUBCRIBER and LOCATION table and just call t_relay function.
Is there any other solution ???
best regards Peter Hudec
Hello,
Daniel-Constantin Mierla wrote:
Hello,
On 02/15/06 12:58, Peter Hudec wrote:
hi all,
I need to route prefix to te one subscriber. It's something between PDT and ALIAS.
ALIAS The R-URI shoult not be replaced by one in the alias table PDT The voip domain is rewrited, but I need to leave the old one.
maybe setting the target domain in pdt to be the same as original one is one solution.
The cutomer has the same VoIP domain as our company (he is our customer). For example. Each OPENSER is asociated eitch some prefixes eg ... 1234XXXX for ser1. On the ser1 there is a subsciber named foo001 and he has prefix 1234000X. So I need to route these adreses to thissubcliber (location, which is saved thne the location table, after successfully REGISTER request from foo001). I need to replace R-URI as ALIAS, but the user part leave untouched.
Otherwise, if you know the length of prefix and dialed number then you can strip the tail of dialed number so you get the prefix in username of r-uri. You associate the prefix with the user in aliases table, do the lookup and then the usual processing. To strip the tail use: http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#strip_tail_int
There can be more such users with various lenght of prefixes and I really dont want to touch routing part of the configuration if there will anything change. In the loadbalanced network it means to reconfigure more devices ....
In the * PBX it's very easy, but I don't want to use * for this purpose exten => 1234000X,1,Dial(SIP/foo001/${EXTEN}) exten => 1234000X,n,Hangup
solutions are 1) I can write small script and call exec for each INVITE to do this. 2) I can write new module for OPENSER. 3) ask our friends (this mailing list) for working solutions
Cheers, Daniel
WHY ??? I want to connect some SIP PBX (asterisk) to our VoIP network and give them more numbers / prefix. I dont want to put it into routing logic eq (if sip:0123XX@domain; then).
The best case is to call some function as PREFIX, which will lookup into PREFIX, SUBCRIBER and LOCATION table and just call t_relay function.
Is there any other solution ???
best regards Peter Hudec
Hello,
ok, I hope I got the proper picture right now. Correct me if I am wrong.
You want to preserve the initial username after the user location lookup. If someone calls 12340001 which is associated to user foo001 then you want to do user location lookup for foo001 and send to it the R-URI in form of: "sip:12340001@foo001_ip:foo001_port"
Am I right?
In this case, the solution is to backup the username from intial r-uri in an avp and restore it after user location lookup.
Concerning the way how to get the username, if you are using the development CVS version, you can play with avp_db_query() to get it from database.
For example, you keep in a table (prefix, username) pairs. The you can do something like:
avp_db_query("select username from prefix_username_table where '$rU' LIKE prefix order by prefix desc limit 1", "$avp(s:username)");
Note that this query is valid for MySQL (I do not know if applies for other database types) and you have to store the prefixes ended by '%' to work with 'LIKE' operator (e.g.: (prefix, username) => ("1234000%", "foo001"))
Once you get the username in avp, push it to user part of r-uri, do the user location lookup and then restore initial username. Hope it works ... I didn't tested ... :-)
Cheers, Daniel
On 02/16/06 12:42, Peter Hudec wrote:
Hello,
Daniel-Constantin Mierla wrote:
Hello,
On 02/15/06 12:58, Peter Hudec wrote:
hi all,
I need to route prefix to te one subscriber. It's something between PDT and ALIAS.
ALIAS The R-URI shoult not be replaced by one in the alias table PDT The voip domain is rewrited, but I need to leave the old one.
maybe setting the target domain in pdt to be the same as original one is one solution.
The cutomer has the same VoIP domain as our company (he is our customer). For example. Each OPENSER is asociated eitch some prefixes eg ... 1234XXXX for ser1. On the ser1 there is a subsciber named foo001 and he has prefix 1234000X. So I need to route these adreses to thissubcliber (location, which is saved thne the location table, after successfully REGISTER request from foo001). I need to replace R-URI as ALIAS, but the user part leave untouched.
Otherwise, if you know the length of prefix and dialed number then you can strip the tail of dialed number so you get the prefix in username of r-uri. You associate the prefix with the user in aliases table, do the lookup and then the usual processing. To strip the tail use: http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook#strip_tail_int
There can be more such users with various lenght of prefixes and I really dont want to touch routing part of the configuration if there will anything change. In the loadbalanced network it means to reconfigure more devices ....
In the * PBX it's very easy, but I don't want to use * for this purpose exten => 1234000X,1,Dial(SIP/foo001/${EXTEN}) exten => 1234000X,n,Hangup
solutions are
I can write small script and call exec for each INVITE to do this. 2) I can write new module for OPENSER. 3) ask our friends (this mailing list) for working solutions
Cheers, Daniel
WHY ??? I want to connect some SIP PBX (asterisk) to our VoIP network and give them more numbers / prefix. I dont want to put it into routing logic eq (if sip:0123XX@domain; then).
The best case is to call some function as PREFIX, which will lookup into PREFIX, SUBCRIBER and LOCATION table and just call t_relay function.
Is there any other solution ???
best regards Peter Hudec