It's just the way that t_register works, if you call t_relay_to more
than once the same error will occur... It's quite messy, you probably
have to use append_branch like;
save("location");
rewritehostport("ser2.domain.com:5060");
append_branch();
rewritehostport("ser3.domain.com:5060");
append_branch();
t_replicate("ser4.domain.com:5060");
I haven't tested this but the logic should work since the t_replicate
function just calls t_relay_to. Also, you'll probably want to use
save_noreply() on the hosts processing the replicated register messages
otherwise the host replicating the register will spew errors. Like I
said, messy.
You could probably do it more elegantly using avpops similar to the
trusted ip example in the docs.
-Evan
Tina wrote:
> Yep, it didn't help
>
> */REGISTER++++fixing contact and port/*
> */Fix contact: Insert buf - sip:tuka@192.168.25.113:5060
> 6(1305) ERROR: t_newtran: transaction already in process 0x28361068
> /*
> */"Greger V. Teigre"/* wrote:
>
> The error means that t_newtran has been run while an
> existing transaction is still in the workings. Have you tried
> moving your save() to *before* the t_replicate()?
> g-)
>
> ---- Original Message ----
> From: Tina
> To: Matt Schulte
> Cc: serusers@lists.iptel.org ; greger@teigre.com
> Sent: Tuesday, April 05, 2005 05:00 PM
> Subject: RE: [Serusers] still no help - usrloc synchronization
>
> > Thanks a lot, gentelmens!
> >
> > I have jumped to the same conclusion. The only thing I am worried -
> > t_replicate() creates aditional SIP traffic between sers. And I also
> > get some strange error with each REGISTER:
> >
> > 1(712) ERROR: t_newtran: transaction already in process 0x28336768
> >
> > Don't have any idea what I am doing wrong....
> >
> > Below is my ser.cfg snippet.
> > As far as you see I am using mediaproxy package to solve NAT issues.
> > I always force relay, cause I had nathelper problems with
> > UAC1->ser->NAT->UAC2 configuration.
> > I am going to test new mediaproxy release.
> > BRs,
> > Tina
> >
> >
> > < BR>> ============================
> >
> > . . .
> > # ------------------------- request routing logic
> -------------------
> > # main routing logic
> > route{
> > #-------------------------------------------------------
> > if (!method=="REGISTER") record_route();
> >
> #-------------------------------------------------------????????????????????
> > # loose-route processing
> > if (loose_route()) {
> > route(8); #--go to mediaproxy processing
> > break;
> > };
> > ...
> > if (method=="REGISTER") {
> > #------Replicate to the peers
> >
> > #---Ser 1
> > if (!src_ip==192.168.25.103)
> > t_replicate("192.168.25.103","5060");
> > #---Ser 2
> > if (!src_ip==192.168.25.115)
> > t_replicate("192.168.25.115","5060");
> >
> > save ("location");
> > break;
> > };
> > #-----------------------------------------------INVITE
> > if (method=="INVITE") {
> > log (1, "INVITE: Radius Accounting\n");
> > t_on_failure("4"); #---voice mail
> > use_media_proxy();
> > t_on_reply("5"); #--mediaproxy
> > };
> > #--------------------------------------------------BYE
> > if (method=="BYE" || method=="CANCEL") {
> > log (1, "BYE or CANCEL: Radius Accounting\n");
> > };
> > #---------------------------------------------------
> > if (!lookup("location") && !lookup("aliases")) {
> > sl_send_reply("404", "Not Found");
> > break;
> > };
> > if (!t_relay()) {
> > sl_reply_error();
> > };
> > }
> >
> > #-------------------------------------------------------
> > failure_route[4]{
> > if (t_check_status("408|486")){
> > append_hf("P-hint: Rewrited to VM");
> > rewritehostport("192.168.25.116:5060");
> > append_branch();
> > t_relay();
> > break;
> > };
> > }
> > #---------------------------------------------------------
> > onreply_route[5]{
> > if (status =~ "(183)|2[0-9][0-9]" && !search("^Content-Length:\
> > 0")) {
> > if ( (!(src_ip=="SERVER1"))
> > && (!(src_ip=="SERVER2"))
> > && (!(src_ip=="SERVER3")) ){
> > if ( search("c=IN IP4 192.168.*")||search("c=IN IP4
> > 10.*")||search("c=IN IP4 172.16.*") ) {
> > fix_contact();
> > };
> > };
> > use_media_proxy();
> > }
> > }
> >
> > ===================================================
> >
> > Matt Schultewrote:
> > I'm starting to lean this direction, using t_replicate and all. I
> > could
> > never get usrloc (db mode) to function properly.. t_replicate is a
> > dirty
> > but very effective workaround.
> >
> > -----Original Message-----
> > From: Greger V. Teigre [mailto:greger@teigre.com]
> > Sent: Saturday, April 02, 2005 1:33 AM
> > To: kramarv@yahoo.com
> > Cc: serusers@lists.iptel.org
> > Subject: Re: [Serusers] still no help - usrloc synchronization
> >
> >
> > Have a look at this thread:
> > http://lists.iptel.org/pipermail/serusers/2005-January/014669.html
> > g-)
> >
> > Java Rockx wrote:
> >> Tina,
> >& gt;
> >> I thought I saw you post the other day that you did not want to use
> >> t_replicate(), however, this is probably your best bet to getting
> >> this
> >
> >> to work, IMHO.
> >>
> >> Regards,
> >> Paul
> >>
> >> On Apr 1, 2005 4:08 PM, Tina wrote:>>
> >>> Hi, please help me, I'm stuck with it!!!!!
> >>> I am trying to set up several sers with a shared MySQL database for
> >>> location service.
> >>>
> >>> I set in each ser.cfg:
> >>>
> >>> modparam("usrloc", "db_mode", 2)
> >>> modparam("usrloc",
> >>> "db_url","sql://ser:heslo@192.168.25.163/ser")
> >>>
> >>> and the servers are not synchronized.
> >>> The I set
> >>> modparam("usrloc", "db_mode", 2)
> >>>
> >>>
> >>> made UAC (Xlite) register to one of the servers.
> >>> ; I see it via usrloc, but there is no record in "location" mySQL
> >>> table....So others do not see the client and I'm unable to make
> >>> calls....
> >>>
> >>>
> >>> Please help how to work with usrloc and mySQL...
> >>>
> >>> Tina,
> >>> software engineer
> >>>
> >>> ________________________________
> >>> Do you Yahoo!?
> >>> Better first dates. More second dates. Yahoo! Personals
> >>>
> >>>
> >>> _______________________________________________
> >>> Serusers mailing list
> >>> serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
> >>>
> >>>
> >>>
> >>
> >> _______________________________________________
> >> Serusers mailing list
> >> serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
> >
> > _______________________________________________
> > Serusers mailing list
> > serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
> >
> > Do you Yahoo!?
> > Yahoo! Mail - Find what you need with new enhanced search. Learn
> more.
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Serusers mailing list
> serusers@lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers