[OpenSER-Users] manipulate INVITES
Andreas Granig
agranig at sipwise.com
Fri Jun 29 17:18:52 CEST 2007
Patrick,
You don't want to alter the To header. Extract the extension from the
R-URI and save it into an AVP (or var if >= 1.2) , then do a lookup with
the resulting R-RUI (user-part without extension), and if it's
successful, replace the user-part with the extension saved in the AVP/var.
Cheers,
Andreas
Patrick Miccio wrote:
> Hello everybody,
>
> since this is my first post and I am kinda new to OpenSER, bare with
> me ;)
>
> I have been trying to manipulate invites for the last 2 days and cant
> find the proper way to reach what is expected.
>
> my goal:
> send invites to specific PBX (Asterisk for example) with only the
> desired extension and not the full username, this is based on a
> avp_check if that UAC needs only extensions, some do, some don't ;)
>
>
> Here is what I do:
> First off all I extract the real username (in subscribers) and
> extension from the R-URI and place it in "$avp(callee_user)" and
> "$avp(callee_exten)"
>
> #############
> my solution No1 is "working"
>
> avp_pushto("$ru/username", "$avp(callee_user)");
> avp_copy("$avp(callee_exten)","$avp(callee_tmp)/gd");
> if( subst('/^To:(.*)sip:[^@]*(@[a-zA-Z0-9.]+.*)$/To:\1sip:$avp(callee_tmp)\2/ig') ){};
>
> -> callee_user is 012345678
> -> callee_exten is 200
> -> $ru is sip:012345678 at xxx.xxx.xxx.xxx;user=phone
> -> subst [ To: <sip:012345678200 at xxx.xxx.xxx.xxx;user=phone> ]
> with [To: <sip:200 at xxx.xxx.xxx.xxx;user=phone> ]
>
> Those 3 lines work "fine", the testing Asterisk PBX gets the call
> correctly. The problem is that I should not change the "To:" part, it
> will make problems with call forwards etc...
>
>
> #############
> my solution No.2 NOT working.
>
> if (subst_uri('/^sip:([0-9]+)@(.*)$/sip:$avp(callee_tmp)@\2;/i')){$};
>
> doesn't work because OpenSER of course cant find 200 in the userloc....
>
> #############
>
> Generally I would think that changing the INVITE uri itself like in
> solution No.2 is the best way, couldn't find any proper way to make that
> work though.
>
> Does anyone have an idea how to realize this properly, or even if this
> makes sense ;) ?
>
> thx in advance,
>
> Patrick.
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list