[Users] Create 302 message and modify contact header

Christophe Irles christophe.irles at alcatel.fr
Wed Aug 23 08:59:57 CEST 2006


 
Finally I used that and all it seems to work well: (in AVP 69 I stored the
new URI to reach)

	avp_pushto("$ruri", "$avp(i:69)");
	avp_delete("$avp(i:69)/g");

	sl_send_reply("302", "Moved Temporarily");
	exit;

When I use Ethereal, the 302 message contains:
	in From header, the original caller
	in To header, the original callee
	And in the Contact header the new URI I stored in AVP 69

Thanks for your help
Christophe

-----Message d'origine-----
De : Greg Fausak [mailto:lgfausak at gmail.com] 
Envoyé : mardi 22 août 2006 18:00
À : Christophe Irles
Cc : daniel at voice-system.ro; OpenSER
Objet : Re: RE: [Users] Create 302 message and modify contact header

On 8/22/06, Christophe Irles <christophe.irles at alcatel.fr> wrote:
>
> Thanks for the hint and sorry I miss this example.
>
> But unfortunately I have a infinite loop if I use directly the example...
>
> I tried to redirect the call to 101 when 102 is used (100 is making 
> the
> call)
>
> When I used a config file like that:
>         # rewrite current URI, which is always part of destination ser
>         rewriteuri("sip:102 at christophe.fr");
>
>         # append one more URI to the destination ser
>         append_branch("sip:101 at christophe.fr");
>
>         # redirect now
>         sl_send_reply("300", "Redirect");
>         exit;
> => Infinite loop !
>

How 'bout this?

         # rewrite current URI, which is always part of destination ser
         rewriteuri("sip:101 at christophe.fr");

         # redirect now
         sl_send_reply("300", "Redirect");
         exit;

-g



> Now if I use only:
>         # append one more URI to the destination ser
>         append_branch("sip:101 at christophe.fr");
>
>         # redirect now
>         sl_send_reply("300", "Redirect");
>         exit;
>  => The call is redirected correctly but if 101 cancel the call if 
> have a "Call failed: 404 user not found" on the device 100. Is it normal ?
>
> Another point: in the example on the end of each URI, there is ":9". Why ?
> Example: append_branch("sip:redirect at siphub.net:9");
>
> And finally: the function append_branch() doesn't seem to accept avp 
> value ...
>
> Thanks,
> Christophe
>
> -----Message d'origine-----
> De : Daniel-Constantin Mierla [mailto:daniel at voice-system.ro] Envoyé : 
> mardi 22 août 2006 16:04 À : Christophe Irles Cc : 'Greg Fausak'; 
> 'OpenSER'
> Objet : Re: [Users] Create 302 message and modify contact header
>
> If you got OpenSER sources, look into examples directory, you have a 
> redirect.cfg file. Online, you can browse it via:
>
>
http://openser.cvs.sourceforge.net/openser/sip-server/examples/redirect.cfg?
> revision=1.2&view=markup
>
> Cheers,
> Daniel
>
>
> On 08/22/06 16:58, Christophe Irles wrote:
> >
> > Before to reply a 302, I need to change the contact header in order 
> > to specify the URI of the new callee.
> >
> > For example A call B, but from the config file I know B wants to 
> > redirect calls to C. So I must specify the URI of user C in the 
> > contact header of the 302 message
> >
> > In your example, you change only the domain:
> > A call B at test.fr and you change the message to A call B at test.com 
> > <mailto:B at test.com>
> >
> > Christophe
> >
> > --------------------------------------------------------------------
> > --
> > -- *De :* Greg Fausak [mailto:lgfausak at gmail.com] *Envoyé :* mardi 
> > 22 août 2006 15:44 *À :* Christophe Irles *Cc :* OpenSER *Objet :* Re:
> > [Users] Create 302 message and modify contact header
> >
> > I don't know if this is right, but:
> >
> > if(is_method("INVITE"))
> > {
> > rewritehostport("test.com");
> > sl_send_reply("302", "Moved Temporarily"); }
> >
> > seems to work for me.
> >
> > I'd try loading some branches if you want more than one item in the 
> > contact header. Just guessing though, I'm usually the recipient of a 
> > 302!
> >
> > -g
> >
> > On Aug 22, 2006, at 8:24 AM, Christophe Irles wrote:
> >
> >> Hi,
> >>
> >> I checked archive without any result... >From an openSER rule, I 
> >> want to create a 302 message if a specific RURI is used.
> >>
> >> First I need to change the contact header to specify the URI of the 
> >> new callee.
> >>
> >> I tried something like that:
> >> avp_printf("$avp(s:100)", "sip:test at christophe.fr 
> >> <mailto:test at christophe.fr>;target=$ruri;cause=486;");
> >> avp_pushto("$ct", "$avp(s:100)"); # => error generated on this line
> >>
> >> ERROR:avpops:fixup_pushto_avp: unsupported destination "$ct"; 
> >> expected $ru,$du,$br
> >>
> >> So how can I modify the contact header ?
> >>
> >> Just after the update on the contact header I envisaged to use this 
> >> function sl_send_reply(302, "Moved Temporarily")
> >>
> >> Is it correct ? Is there a better way to 'create' 302 message in 
> >> this case ?
> >> I check UAC_REDIRECT module but I don't think I can use it in this 
> >> case or perhaps I missed something
> >>
> >> Before to use a 302 message I succesfully tested to create a new 
> >> INVITE with the $ruri modified correctly. But I would like to 
> >> create a 302 message to prevent any problem of authentication.
> >>
> >> Thanks,
> >> Christophe
> >>
> >> _______________________________________________
> >> Users mailing list
> >> Users at openser.org <mailto:Users at openser.org> 
> >> http://openser.org/cgi-bin/mailman/listinfo/users
> >
> > --------------------------------------------------------------------
> > --
> > --
> >
> > _______________________________________________
> > Users mailing list
> > Users at openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/users
> >
>
>


--
Greg Fausak
greg at thursday.com





More information about the Users mailing list