Hi Bai Shi, I just tested (to be sure no bugs are present) and in 1.3, the CANCELs are automatically updated (the FROM header), as expected.
Regards, Bogdan Bai Shi wrote: > Hi, Thomas, > This will do in openser 1.2, however, in openser 1.3 it won't do any help. > The CANCEL will be sent out regardless what you have done to the request, but > follow the information in the original INVITE. I tested it and suffered a lot > ;( > Rgds, > BS > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Andreas Granig > Sent: 2008年3月13日 2:54 > To: Thomas Gelf > Cc: [EMAIL PROTECTED] > Subject: Re: [OpenSER-Users] uac_replace_from and CANCEL > > Hi Thomas, > > Yes, I'm doing it that way now (without that "append_branch()" though), > but if you have an uuid-based setup where you fetch the uuid from the > subscriber table during authentication of the INVITE and then with that > uuid fetch dynamic data from the usr_preferences table to be used for > "uac_rewrite_host()", then you have to do some work-arounds and hacks to > get that data for the CANCEL as well, which could be quite a pain. > > So yes, it would be really great if this could be done automatically > *hint hint* :) > > Andreas > > Thomas Gelf wrote: > >> Applying uac_replace_from() to the CANCEL request should do the job, >> it sadly doesn't happen automagically :'-( >> >> Try something like: >> >> if(is_method("CANCEL") && uri =~ "^sip:...") >> { >> if(t_check_trans()) >> { >> rewritehostport("..."); >> uac_replace_from("..."); >> append_branch(); >> } >> if(!t_relay()) >> { >> sl_reply_error(); >> } >> } >> >> Cheers, >> Thomas Gelf >> >> Andreas Granig schrieb: >> >>> Hi, >>> >>> I hit another problem with a Cisco PGW in combination with CANCEL, and >>> I'm not sure which fault it is. If I do uac_replace_from in the INVITE, >>> the From-Header is altered somehow and sent to the PGW. So if A calls B >>> where B is a PGW, the From from A to OpenSER is for example >>> sip:[EMAIL PROTECTED] and from OpenSER to B it's sip:[EMAIL PROTECTED] >>> >>> If the call is cancelled, the From-header isn't altered, so the From >>> from A to OpenSER is sip:[EMAIL PROTECTED] and from OpenSER to B it's >>> sip:[EMAIL PROTECTED] as well. >>> >>> Now the PGW seems to ignore this CANCEL, and I guess it's because of the >>> different From-usernames, since it works if I don't do any uac_replace_from. >>> >>> RFC3261 says in §9.1: >>> The Request-URI, Call-ID, To, the numeric part of CSeq, and From header >>> fields in the CANCEL request MUST be identical to those in the >>> request being cancelled, including tags. >>> >>> So is it correct behavior of the PGW because the From header in the >>> CANCEL is different from the From header in the INVITE? Should OpenSER >>> alter the From in the CANCEL as well? Or should the PGW just check the >>> From tags, but not the From URI? >>> >>> Andreas >>> >>> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.openser.org/cgi-bin/mailman/listinfo/users >> > > _______________________________________________ > Users mailing list > [email protected] > http://lists.openser.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ > Users mailing list > [email protected] > http://lists.openser.org/cgi-bin/mailman/listinfo/users > _______________________________________________ Users mailing list [email protected] http://lists.openser.org/cgi-bin/mailman/listinfo/users
