Peer Re-connection problem

61 views
Skip to first unread message

Ariful Islam

unread,
Mar 13, 2020, 4:15:28 AM3/13/20
to mobicents-public
Hi,
We're using jDimaeter for Ro Direct Debiting purpose. Recently we faced a strange problem - sometimes we have fluctuations in the network connectivity and Diameter server becomes unavailable and peer connection is lost. But even after the connectivity is restores, our Stack is not reconnecting automatically. Can anyone please suggest what I'm doing wrong here?


Below is my diameter configuration:

<?xml version="1.0"?>
  <LocalPeer>
  <!-- <URI value="aaa://10.240.25.141:1812"/>  -->
    <URI value="aaa://azrc-ed-045:1812"/>
    <IPAddresses>
      <IPAddress value="10.240.25.141"/>
    </IPAddresses>
    <Realm value="chgwdev2.azerconnect.az"/>
    <VendorID value="10415" />
    <ProductName value="jDiameter"/>
    <FirmwareRevision value="1"/>
    <OverloadMonitor>
      <Entry index="1" lowThreshold="0.5" highThreshold="0.6">
        <ApplicationID>
          <VendorId value="10415"/>
          <AuthApplId value="4"/>
          <AcctApplId value="3"/>
        </ApplicationID>
      </Entry>
    </OverloadMonitor>
  </LocalPeer>

  <Parameters>
    <AcceptUndefinedPeer value="false"/>
    <DuplicateProtection value="true"/>
    <DuplicateTimer value="240000"/>
    <UseUriAsFqdn value="false"/>
    <QueueSize value="10000"/>
    <MessageTimeOut value="60000"/>
    <StopTimeOut value="10000"/>
    <CeaTimeOut value="10000"/>
    <IacTimeOut value="30000"/>
    <DwaTimeOut value="10000"/>
    <DpaTimeOut value="5000"/>
    <RecTimeOut value="10000"/>
    <Concurrent>
      <Entity name="ThreadGroup" size="64"/>
      <Entity name="ProcessingMessageTimer" size="1"/>
      <Entity name="DuplicationMessageTimer" size="1"/>
      <Entity name="RedirectMessageTimer" size="1"/>
      <Entity name="PeerOverloadTimer" size="1"/>
      <Entity name="ConnectionTimer" size="1"/>
      <Entity name="StatisticTimer" size="1"/>
    </Concurrent>

  </Parameters>

  <Network>
    <Peers>
      <Peer name="aaa://10.220.64.228:16553" attempt_connect="true" rating="1"/>
    </Peers>
    <Realms>
      <Realm name="www.cbpadpt451TestBed1.com" peers="10.220.64.228" local_action="LOCAL" dynamic="false" exp_time="1">
        <ApplicationID>
          <VendorId value="10415"/>
          <AuthApplId value="4"/>
          <AcctApplId value="3"/>
        </ApplicationID>
      </Realm>
      <Realm name="www.cbpadpt451TestBed1.com" peers="10.220.64.228" local_action="LOCAL" dynamic="false" exp_time="1">
        <ApplicationID>
          <VendorId value="0"/>
          <AuthApplId value="4"/>
          <AcctApplId value="0"/>
        </ApplicationID>
      </Realm>
    </Realms>
  </Network>

  <Extensions/>

</Configuration>


We found the following logs:


a.a.pgw.diameter.client.DiameterClient   : Diameter: request error MessageImpl{commandCode=272, flags=128} error class RouteException
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: org.jdiameter.api.RouteException: Unable to find valid connection to peer[CBSService.com] in realm[www.cbpadpt451.com]
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.router.RouterImpl.getPeer(RouterImpl.java:431)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.controller.PeerTableImpl.sendMessage(PeerTableImpl.java:176)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.StackImpl.sendMessage(StackImpl.java:428)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.BaseSessionImpl.genericSend(BaseSessionImpl.java:121)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.BaseSessionImpl.genericSend(BaseSessionImpl.java:88)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.jdiameter.client.impl.SessionImpl.send(SessionImpl.java:60)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.diameter.client.DiameterClient.sendRequest(DiameterClient.java:142)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.diameter.client.DiameterClient.sendRequest(DiameterClient.java:123)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.diameter.client.DiameterClient.topUp(DiameterClient.java:103)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.diameter.service.impl.DiameterServiceImpl.topUpAsync(DiameterServiceImpl.java:50)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.diameter.service.impl.DiameterServiceImpl.topUp(DiameterServiceImpl.java:57)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.core.service.impl.TopupByMsisdnServiceImpl.topupByMsisdn(TopupByMsisdnServiceImpl.java:95)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.core.service.impl.TopupByMsisdnServiceImpl$$FastClassBySpringCGLIB$$4677c347.invoke(<generated>)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.tps.aop.RateLimiterAspect.checkEsbRate(RateLimiterAspect.java:39)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at java.lang.reflect.Method.invoke(Method.java:498)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
Mar 12 18:01:39 pgw-bkc-app02 bkcpgwbank: at az.azerconnect.pgw.core.service.impl.TopupByMsisdnServiceImpl$$EnhancerBySpringCGLIB$$5fe2ccd1.topupByMsisdn(<generated>)




Reply all
Reply to author
Forward
0 new messages