[SR-Users] Dialog module showing calls that have already been terminated

Phillman25 Kyriacou phillman25 at gmail.com
Wed Sep 21 14:16:54 CEST 2011


Hey Timo

Yes the mysql replication is basically used to update the standby server of
new mysql entries in case of a switchover the secondary server will be
updated in terms of dialog restoration, dialplan update, CDR's  etc...

I'm pretty sure that all messages belonging to a specific dialog reach the
same Kamailio instance.

Regards
Phillip


On Wed, Sep 21, 2011 at 3:02 PM, Timo Reimann <timo.reimann at 1und1.de> wrote:

> Hey Phillip,
>
>
> On 21.09.2011 13:53, Phillman25 Kyriacou wrote:
> > I tried what you told me below, however i'm still getting the same
> result.
> > Just to give you more details on my scenario  i have 2 kamailio servers
> > running heartbeat for high availability on a virtual ip as well as mysql
> > MASTER-MASTER replication setup. All traffic is sent on this virtual ip.
> > You think that this might be the reason?
>
> Not 100% sure but you need to guarantee that *all* messages belonging to
> a specific dialog reach the same Kamailio instance. (There is no notion
> of distributed dialog management; the database just helps with restoring
> dialogs on startup.) Is that the case for you?
>
>
> Cheers,
>
> --Timo
>
>
>
> > On Tue, Sep 20, 2011 at 8:07 PM, Timo Reimann <timo.reimann at 1und1.de
> > <mailto:timo.reimann at 1und1.de>> wrote:
> >
> >     Hey,
> >
> >
> >     On 20.09.2011 15:23, Phillman25 Kyriacou wrote:
> >     > Hey Timo
> >     >
> >     > Thanks for your email.
> >     > I apologise i never copied the config properly. I missed a  } to
> close
> >     > the if statement.
> >     > You can see that the route(WITHINDLG); is called for all requests
> from
> >     > this config.
> >     >
> >     >
> >     >
> >     >        # MANAGE ALL DIALOGS
> >     >        #===================================================
> >     >         if (is_method("INVITE"))
> >     >  {
> >     >         if(is_method("INVITE") && !has_totag())
> >     >        {
> >     >            $dlg_ctx(timeout_route) = 12;
> >     >            $dlg_ctx(timeout_bye) = 1;
> >     >        }
> >     >
> >     >           dlg_manage();
> >     >
> >     >  }
> >     >
> >     >
> >     >          if(is_method("BYE|CANCEL"))
> >     >
> >     >       {
> >     >
> >     >          dlg_manage();
> >     >
> >     >
> >     >       }
> >
> >     [...]
> >
> >     >         # handle requests within SIP dialogs
> >     >         route(WITHINDLG);
> >
> >     [...]
> >
> >     >         # authentication
> >     >         route(AUTH);
> >
> >     Ok, this looks better now. Still, I cannot explain why dialog
> tracking
> >     doesn't work for you. I tried to reproduce your setup, including the
> >     dialog module parameters you are using. However, things keep working
> for
> >     me the way they should.
> >
> >     A few people have had issues when starting to track dialogs before
> the
> >     INVITE was authenticated. In that case, the caller could receive a
> 407
> >     which isn't properly handled by the dialog module in all cases.
> (There's
> >     a bug report filed on the tracker already.) Could you try moving that
> >     "if(is_method("INVITE") && !has_totag()) {...}" part including the
> call
> >     to dlg_manage() past the location where "route(AUTH)" is called and
> see
> >     if it helps?
> >
> >
> >     Cheers,
> >
> >     --Timo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110921/7e1ad204/attachment.htm>


More information about the sr-users mailing list