Seems very strange to me, that incoming message would remember the
request uri as it was before rewrite.... do you really forward it?
Please attach network capture.
Michal
On Mon, 2007-02-12 at 15:23 +0100, tzieleniewski wrote:
Thanks it worked but another thing appeared:)
Everything works fine, I see the message being routed again to ser with
different ruri but at the end of the message processing when I invoke the
lookup_contacts("location") function the message is forwarded to the location
which
corresponds to the first ruri which was changed by attr2uri() function.
Please point me what do I miss.
Generally my procedure looks like this:
if inbound user then
check if user have forward_blind parameter
if yes
rewrite ruri (attr2uri("$tr.forward_blind")) and forward with
t_relay()
So for instance when I call myself and have the forward_blind set on the account on which
user is not registered I get the 486 - busy response instead of the unavailable user.
> On Mon, 2007-02-12 at 14:32 +0100, tzieleniewski wrote:
> > Hi again
> > I found out that there appears the following error in the log:
> > Feb 12 14:37:53 rd ser[3979]: parse_nameaddr(): No < found
>
> The attr_destination uses the same uri parser as core, and is able to
> accept event the nameaddr specification... so if you put uri without <>
> you will get this "warning".
>
> It just rewrites internal next hop, so the t_relay will send it as
> appropriate. If you want to rewrite the request uri too use attr2uri
> function call together with it.
>
> Michal
>
> > Please give me a hand with this issue:)
> >
> > Thanks in advance
> > -tomasz
> >
> > > Hi!!
> > >
> > > I am trying to set up the blind call forwarding with the usage of
attr_destination()
> > > function.
> > > I do the following I load the user attributes from user_attrs and
uri_attrs table and then according to the loaded parameters I do:
> > >
> > > if ($tu.call_forward == "blind" &&
$tr.forward_blind)
> > > {
> > > xlog("L_INFO", " route[CALL_FORWARD]: fwd \n");
> > > attr_destination("$tr.forward_blind");
> > > xlog("L_INFO", " route[CALL_FORWARD]: route(FORWARD)
\n");
> > > route(FORWARD);
> > > xlog("L_INFO", " route[CALL_FORWARD]: drop
\n");
> > > drop;
> > > }
> > >
> > > after the ser.cfg logic goes through this part I don't see any change
in the request uri?? Please point me what do I miss?
> > >
> > > here is my database contents:
> > > mysql> select * from user_attrs where uid like 'hellboy%' and
name like 'call_%';
> > > +----------------------+--------------+-------+------+-------+
> > > | uid | name | value | type | flags |
> > > +----------------------+--------------+-------+------+-------+
> > > | hellboy(a)voip.touk.pl | call_forward | blind | 2 | 1 |
> > > +----------------------+--------------+-------+------+-------+
> > > 1 row in set (0.00 sec)
> > >
> > > mysql> select * from uri_attrs where username like 'hellboy%';
> > >
+----------+--------------+---------------+----------------------+------+-------+--------+
> > > | username | did | name | value | type |
flags | scheme |
> > >
+----------+--------------+---------------+----------------------+------+-------+--------+
> > > | hellboy | voip.touk.pl | forward_blind | sip:tzl@voip.touk.pl | 2 |
1 | sip |
> > >
+----------+--------------+---------------+----------------------+------+-------+--------+
> > > 1 row in set (0.00 sec)
> > >
> > > Cheers
> > > -tomasz
> > >
> > > _______________________________________________
> > > Serusers mailing list
> > > Serusers(a)lists.iptel.org
> > >
http://lists.iptel.org/mailman/listinfo/serusers
> >
> > _______________________________________________
> > Serusers mailing list
> > Serusers(a)lists.iptel.org
> >
http://lists.iptel.org/mailman/listinfo/serusers
>