Giter VIP home page Giter VIP logo

ussdgateway's Introduction

Note

On 29 June 2023, Mobius Software LTD signed an agreement with Mavenir to assume development and support of the RestcommOne on prem products. For more details regarding open source / commercial differentiation, roadmap, licensing and other details please visit the Mobius Website.

RestComm USSD Gateway

Enables web developers to build server side interactive messaging apps for mobile phones over SS7 infrastructure.

Introduction

USSD stands for Unstructured Supplementary Service Data what is a capability of GSM mobile phone much like the Short Message Service (SMS)

USSD information is sent from mobile handset directly to an application platform handling service. USSD establishes a real time session between mobile handsets and the application handling a service. The concept of real time session is very useful for constructing an interactive menu driven application.

RestComm USSD Gateway is built on RestComm SS7 and RestComm JSLEE Server. It offers RESTful HTTP interface that allows web developers to build interactive apps for feature mobile phones.

ussdgateway's People

Contributors

abdulazizali77 avatar abhayani avatar ammendonca avatar anatolysatanovskiy-mobius avatar baranowb avatar deruelle avatar fossabot avatar ivelin avatar nhanth87 avatar olenara avatar vetss avatar yulianoifa-mobius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ussdgateway's Issues

Report Generation

USSD management ui should expose functionality to generate Reports.
The scope of report needs to be discussed

SCTP not UP due a possible issue in M3UA

Hi, I am trying to establish a SCTP communication between a Mobile Carrier and the USSD Gateway, everything seems to be correctly configurated in the SCTP and M3UA layers, but SCTP do no establishes and it finishes with a SHUTDOWN COMPLETE.

Below a dump of transmission. Does have anyone already face this problem?

18:21:29.223268 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [INIT] [init tag: 7441816] [rwnd: 32768] [OS: 17] [MIS: 17] [init TSN: 7441816]

18:21:29.223333 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [INIT] [init tag: 7441816] [rwnd: 32768] [OS: 17] [MIS: 17] [init TSN: 7441816]

18:21:29.223932 IP myUSSD_Gateway.2905 > mobile_carrier_stp1.2905: sctp (1) [INIT ACK] [init tag: 3894895593] [rwnd: 106496] [OS: 10] [MIS: 17] [init TSN: 4028432780]

18:21:29.353503 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [COOKIE ECHO]
18:21:29.353572 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [COOKIE ECHO]

18:21:29.354215 IP myUSSD_Gateway.2905 > mobile_carrier_stp1.2905: sctp (1) [COOKIE ACK]
18:21:29.354457 IP myUSSD_Gateway.2905 > mobile_carrier_stp1.2905: sctp (1) [SHUTDOWN]

18:21:29.483784 IP mobile_carrier_stp2.2905 > myUSSD_Gateway.2905: sctp (1) [HB REQ]
18:21:29.483889 IP mobile_carrier_stp2.2905 > myUSSD_Gateway.2905: sctp (1) [HB REQ]

18:21:29.483847 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [SHUTDOWN ACK]
18:21:29.483906 IP mobile_carrier_stp1.2905 > myUSSD_Gateway.2905: sctp (1) [SHUTDOWN ACK]

18:21:29.484487 IP myUSSD_Gateway.2905 > mobile_carrier_stp2.2905: sctp (1) [HB ACK]

18:21:29.484526 IP myUSSD_Gateway.2905 > mobile_carrier_stp1.2905: sctp (1) [SHUTDOWN COMPLETE]

HTTPS Support

USSD Gateway communicates with Application over http as of today. However for security reasons the connectivity should be based on https

Docs: JAVA version in the manual

We need to specify in the manual (Installation Pre-Requisites) that the only supported JAVA version is JAVA7 (+Oralce/64 is prefered)

XmlMAPDialog serializing Exception

This exception may iccure in rare malformed messageflow
2015-12-07 14:18:58,096 ERROR org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl Caught exception while routing EventContext[event type id = EventTypeID[name=ss7.map.DIALOG_REJECT,vendor=org.mobicents,version=1.0] , event = DialogReject [refuseReason=RemoteNodeNotReachable, alternativeApplicationContext=null, extensionContainer=null, MAPDialogSupplementaryWrapper [wrappedDialog=MAPDialog: LocalDialogId=6 RemoteDialogId=null MAPDialogState=EXPUNGED MAPApplicationContext=MAPApplicationContext [Name=networkUnstructuredSsContext, Version=version2, Oid=0, 4, 0, 0, 1, 0, 19, 2, ] TCAPDialogState=Expunged]] , local ac = RA:MAPRA:MAPDialogActivityHandle(id=6) , address = IP: localhost , serviceID = null]
java.lang.NullPointerException
at org.mobicents.ussdgateway.XmlMAPDialog$1.write(XmlMAPDialog.java:631)
at org.mobicents.ussdgateway.XmlMAPDialog$1.write(XmlMAPDialog.java:628)
at javolution.xml.XMLFormat$OutputElement.add(XMLFormat.java:836)
at javolution.xml.XMLObjectWriter.write(XMLObjectWriter.java:273)
at org.mobicents.ussdgateway.EventsSerializeFactory.serialize(EventsSerializeFactory.java:127)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.sendHttpResponse(HttpServerSbb.java:1133)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.abortHttpDialog(HttpServerSbb.java:1085)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.onDialogReject(HttpServerSbb.java:719)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.mobicents.slee.runtime.sbbentity.SbbEntityImpl.invokeEventHandler(SbbEntityImpl.java:479)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:379)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
at org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:76)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
To fix it we need in XmlMAPDialog serializing check - if "dialog.messageType" is null.

javax.slee.management.DeploymentException , javax.slee.UnrecognizedServiceException: Unrecognized service ServiceID[name=mobicents-ussdgateway-cdr

While running JBOSS, I am getting below exception, I tried to build it a lot time, and then deploy ussd gateway from latest release. But in both case I am facing same problem.

16:07:04,691 ERROR DeploymentManager Failure invoking 'InstallDeployableUnitAction[file:/home/oorja/DeepakJ/Desktop/JavaSS7/JBoss/restcomm-ussd-7.0.34/jboss-5.1.0.GA/server/simulator/deploy/services-DU-7.0.34.jar/]
javax.slee.management.DeploymentException: Failure encountered during deploy process.
at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:340)
at org.mobicents.slee.container.deployment.jboss.action.InstallDeployableUnitAction.invoke(InstallDeployableUnitAction.java:41)
at org.mobicents.slee.container.deployment.jboss.DeploymentManager.sciAction(DeploymentManager.java:316)
at org.mobicents.slee.container.deployment.jboss.DeploymentManager.installDeployableUnit(DeploymentManager.java:161)
at org.mobicents.slee.container.deployment.jboss.SLEESubDeployer.start(SLEESubDeployer.java:281)
at org.mobicents.slee.container.deployment.jboss.SleeContainerDeployerImpl.start(SleeContainerDeployerImpl.java:271)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.callSubDeployer(SLEEDeployer.java:124)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.deploy(SLEEDeployer.java:98)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.deploy(SLEEDeployer.java:46)
at org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer.deploy(AbstractSimpleVFSRealDeployer.java:56)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.slee.management.DeploymentException: failed to build deployable unit
at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:295)
at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:72)
at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:164)
... 57 more
Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
at javassist.CtClassType.getClassFile2(CtClassType.java:203)
at javassist.CtClassType.getInterfaces(CtClassType.java:630)
at org.mobicents.slee.container.component.deployment.SbbAbstractClassDecorator$1.edit(SbbAbstractClassDecorator.java:204)
at javassist.expr.ExprEditor.loopBody(ExprEditor.java:191)
at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
at javassist.CtBehavior.instrument(CtBehavior.java:618)
at org.mobicents.slee.container.component.deployment.SbbAbstractClassDecorator.trapMethodIfENCBindCall(SbbAbstractClassDecorator.java:193)
at org.mobicents.slee.container.component.deployment.SbbAbstractClassDecorator.decorateENCBindCalls(SbbAbstractClassDecorator.java:182)
at org.mobicents.slee.container.component.deployment.SbbAbstractClassDecorator.decorateAbstractSbb(SbbAbstractClassDecorator.java:124)
at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.loadAndSetNonGeneratedComponentClasses(DeployableUnitBuilderImpl.java:470)
at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:236)
... 59 more
Caused by: java.io.IOException: invalid constant type: 18
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1027)
at javassist.bytecode.ConstPool.read(ConstPool.java:970)
at javassist.bytecode.ConstPool.(ConstPool.java:127)
at javassist.bytecode.ClassFile.read(ClassFile.java:693)
at javassist.bytecode.ClassFile.(ClassFile.java:85)
at javassist.CtClassType.getClassFile2(CtClassType.java:190)
... 69 more
16:07:04,943 ERROR SLEESubDeployer
javax.slee.UnrecognizedServiceException: Unrecognized service ServiceID[name=mobicents-ussdgateway-cdr,vendor=org.mobicents,version=1.0]
at org.mobicents.slee.container.management.ServiceManagementImpl.activate(ServiceManagementImpl.java:242)
at org.mobicents.slee.container.management.ServiceManagementImpl.activate(ServiceManagementImpl.java:223)
at org.mobicents.slee.container.deployment.jboss.action.ActivateServiceAction.invoke(ActivateServiceAction.java:59)
at org.mobicents.slee.container.deployment.jboss.DeploymentManager.sciAction(DeploymentManager.java:316)
at org.mobicents.slee.container.deployment.jboss.DeploymentManager.installDeployableUnit(DeploymentManager.java:161)
at org.mobicents.slee.container.deployment.jboss.SLEESubDeployer.start(SLEESubDeployer.java:281)
at org.mobicents.slee.container.deployment.jboss.SleeContainerDeployerImpl.start(SleeContainerDeployerImpl.java:271)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.callSubDeployer(SLEEDeployer.java:124)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.deploy(SLEEDeployer.java:98)
at org.mobicents.slee.container.deployment.jboss.SLEEDeployer.deploy(SLEEDeployer.java:46)
at org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer.deploy(AbstractSimpleVFSRealDeployer.java:56)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
at org.jboss.Main.boot(Main.java:221)
at org.jboss.Main$1.run(Main.java:556)
at java.lang.Thread.run(Thread.java:745)

Asterisk 14 and USSD Gateway

Hi

I built a lab with my own BTS, which sends all traffic (voice, SMS and USSD) via SIP protocol.
I would like to know how to integrate Asterisk 14 and Restcomm USSD Gateway, because Asterisk 14 has support to Sigtran (SS7 over IP).

Could someone help me?

Thanks in advance

java.lang.InternalError: should not reach here SctpChannelImpl

The USSD Gateway has for a few months with a few hiccups that we were able to work around. About to weeks ago we started getting the following error:

java.lang.InternalError: should not reach here
at sun.nio.ch.sctp.SctpChannelImpl.receive0(Native Method)
at sun.nio.ch.sctp.SctpChannelImpl.receiveIntoNativeBuffer(SctpChannelImpl.java:859)

If I google this is states that there is a JDK bug. I have tried multiple JDK and they all give the same error, Some times the gateway will run for few days before crashing and other times it crashes after an hour.

Any help would be appreciated.

Seperate line for interoparating with RestComm Connect

Hi team,
I see in release note version USSD Gateway 7.x. You said fix problem:

SIP input - replacing 
 -> 
 (for interoparating with RestComm Connect server)

But when i try to test USSDGW 7 & Restcomm Connect 8.0, i seen:

<?xml version='1.0' encoding='UTF-8'?>
<ussd-data>
<language value="en"/>
<ussd-string value="Welcome to Telestax @&#xa;Test separate lines"/>
<anyExt>
<message-type>unstructuredSSRequest_Request</message-type>
</anyExt>
</ussd-data>]]>
</message>

NullPointer exception when XML Dialog serializing

When a peer returns UTDS response for UnstructuredUSSD Request we have suc exception
2016-01-19 10:42:17,318 ERROR org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl Caught exception while routing EventContext[event type id = EventTypeID[name=ss7.map.DIALOG_REJECT,vendor=org.mobicents,version=1.0] , event = DialogReject [refuseReason=RemoteNodeNotReachable, alternativeApplicationContext=null, extensionContainer=null, MAPDialogSupplementaryWrapper [wrappedDialog=MAPDialog: LocalDialogId=2 RemoteDialogId=null MAPDialogState=EXPUNGED MAPApplicationContext=MAPApplicationContext [Name=networkUnstructuredSsContext, Version=version2, Oid=0, 4, 0, 0, 1, 0, 19, 2, ] TCAPDialogState=Expunged]] , local ac = RA:MAPRA:MAPDialogActivityHandle(id=2) , address = IP: localhost , serviceID = null]
java.lang.NullPointerException
at org.mobicents.ussdgateway.XmlMAPDialog$1.write(XmlMAPDialog.java:631)
at org.mobicents.ussdgateway.XmlMAPDialog$1.write(XmlMAPDialog.java:628)
at javolution.xml.XMLFormat$OutputElement.add(XMLFormat.java:836)
at javolution.xml.XMLObjectWriter.write(XMLObjectWriter.java:273)
at org.mobicents.ussdgateway.EventsSerializeFactory.serialize(EventsSerializeFactory.java:127)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.sendHttpResponse(HttpServerSbb.java:1133)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.abortHttpDialog(HttpServerSbb.java:1085)
at org.mobicents.ussdgateway.slee.http.HttpServerSbb.onDialogReject(HttpServerSbb.java:719)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.mobicents.slee.runtime.sbbentity.SbbEntityImpl.invokeEventHandler(SbbEntityImpl.java:479)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:379)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
at org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:76)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

  1. we need to check if "dialog.messageType" is not null before writing to be on the safe side
  2. we need to figure out why this field is not filled in this case
    https://telestax.zendesk.com/tickets/32672#

https://telestax.atlassian.net/browse/USSDGW-131

Complete implementation of 3GPP TS 24.390 (USSI-AS)

As of today, Restcomm USSD Gateway implements 3GPP TS 24.390 (USSD for the IMS or USSI) for establishing, maintaining and releasing SIP transactions (with Content-Type: application/vnd.3gpp.ussd+xml) only with Restcomm-Connect (or any SIP AS that acts identically).

This is great and surely it's the only USSD Gateway out there with this feature. However, we need to fully implement USSD over SIP as per 3GPP TS 24.390, in order to being able to act as a stand-alone USSI-AS. This will become critical for USSD over LTE without Circuit-Switched Fallback. Furthermore, it has already been asked by customers.

Lets use version 13.2.0 of 3GPP TS 24.390 (released on 2016-09-30) as initial reference, as it introduces some critical enhancements/additions from its predecessors. Find it attached (Annex A contains very illustrative signalling flows and examples).
24390-d20.zip

compile error

I have encount an compile error:
Missing artifact com.vendor.dialogic:gctapi:jar:6.7.1:compile
I can not get this jar from the maven center,please help me!

Artifact error while building source code

Hello,

I'm following the "Installation Guide to Restcomm USSD GATEWAY" and I'm having some problems while building the source code. It gives me the following error:

[ERROR] Failed to execute goal on project bootstrap: Could not resolve dependencies for project org.mobicents.ussd:bootstrap:jar:3.0.0-SNAPSHOT: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project bootstrap: Could not resolve dependencies for project org.mobicents.ussd:bootstrap:jar:3.0.0-SNAPSHOT: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:221)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:245)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project org.mobicents.ussd:bootstrap:jar:3.0.0-SNAPSHOT: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:211)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 23 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205)
... 24 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
... 25 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:231)
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
... 27 more

What can I do? Thank you very much in advance,

Regards.

Upgrading of http pull and push simulators

We have in USSD GW http pull and push simulators (that are made as Servlet and JMX Beans).

  1. pull case is hardcored, we need to implement some Bean like for push to be possible to check a variety of possibility
  2. for push case we possibly need some GUI output for HTTP payload to observe
  3. possibly Empty TC begin does not work (at least I have not managed to reproduce it)
  4. we do not need customInvokeTimeout to be mandatory

When user abort ussd session then http connection get stuck

When the user abort the ussd session it seems like the connection to http RA stays open and this counts as a concurrent connection. I have set the , MAX_CONNECTIONS_FOR_ROUTES to 500 and it fills up in 2 hours. Then any ussd short codes that use same url does not work until I restart the ussd gateway.

<error-code> and <anyExt> syntax for SIP part

If we download the last version of 24.390 specs: http://www.etsi.org/deliver/etsi_ts/124300_124399/124390/12.02.00_60/

We can find there some fresh description of and structure. For there are some examples there. We must not follow it but possibly we need to think of it and try to follow templates

  1. <error-code> is an integer. The following values are defined. If the received value is not listed below, it must be treated as 1.
    1 error - unspecified
    2 language/alphabet not supported
    3 unexpected data value
    4 USSD-busy

  2. <ltanyExt> contains optional extension elements.
    <anyExt>
    <UnstructuredSS-Request/>
    <alertingPattern>0</alertingPattern>
    </anyExt>
    <anyExt><UnstructuredSS-Request/></anyExt>
    We need to think how and how full should we follow templates and possible update code.

GUI: Campaign deletion doesn't work when created with special characters

After creating a campaign with a special character like ñ (from Spanish alphabet, Campaña means Campaign in Spanish), the name is not shown as created, and worse, it is not possible to remove it in the GUI, an exception is thrown. See attached image and stack trace below.

campaign_deletion_failure

java.lang.Exception: Campaign Campa�±a not found at org.mobicents.protocols.ss7.oam.common.statistics.CounterProviderManagement.destroyCampaign(CounterProviderManagement.java:276) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jolokia.handler.ExecHandler.doHandleRequest(ExecHandler.java:98) at org.jolokia.handler.ExecHandler.doHandleRequest(ExecHandler.java:40) at org.jolokia.handler.JsonRequestHandler.handleRequest(JsonRequestHandler.java:87) at org.jolokia.backend.MBeanServerExecutorLocal.handleRequest(MBeanServerExecutorLocal.java:139) at org.jolokia.backend.MBeanServerHandler.dispatchRequest(MBeanServerHandler.java:101) at org.jolokia.backend.LocalRequestDispatcher.dispatchRequest(LocalRequestDispatcher.java:90) at org.jolokia.backend.BackendManager.callRequestDispatcher(BackendManager.java:377) at org.jolokia.backend.BackendManager.handleRequest(BackendManager.java:147) at org.jolokia.http.HttpRequestHandler.executeRequest(HttpRequestHandler.java:195) at org.jolokia.http.HttpRequestHandler.handleGetRequest(HttpRequestHandler.java:86) at org.jolokia.http.AgentServlet$3.handleRequest(AgentServlet.java:293) at org.jolokia.http.AgentServlet.handle(AgentServlet.java:225) at org.jolokia.http.AgentServlet.doGet(AgentServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:745)

Building from source error

When I try to build USSD Gateway from source I get this error message below, I am using Maven 3.0

mvn clean install

_[ERROR] Failed to execute goal on project bootstrap: Could not resolve dependencies for project org.mobicents.ussd:bootstrap:jar:3.0.0-SNAPSHOT: Failure to find com.vendor.dialogic:gctapi:jar:6.7.1 in https://oss.sonatype.org/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of restcomm-public-repository-group has elapsed or updates are forced -> [Help 1]

I just need to know which thing I must do in pom.xml file

org.mobicents.ussd
parent
3.0.0-SNAPSHOT

<name>USSD Gateway Parent</name>

Thanks in advance

META-INF-m3ua-dialogic jboss-beans.xml templates

We need to add into release binaries jboss-beans.xml templates for cases:

  • META-INF-dialogic
  • META-INF-m3ua-dialogic
    The main example is for m3ua case only.

we can provide it in may be "templates/META-INF-templates" folder (subfolders META-INF-dialogic and META-INF-m3ua-dialogic).

Default values for SS7 parameters

We need to specify default paratemetrs (that are active) after a server installation:
private String ussdGwGt = null;
private int ussdGwSsn = -1;
private int hlrSsn = -1;
private int mscSsn = -1;

Authentication for USSD PUSH

Every one have the access link to ussd push then can send ussd push code. We need authentication to restrict that:
-http user/account authentication for ussd push link

  • cdr should have account recorded

Br,
TN

Avoid navigating through USSD menus by direct dialing specific options

Currently USSD Gateway does not support USSD direct dial or fast access, i.e. instead of making the user going through the whole menu to get somewhere in the call flow, just with one direct dial. e.g. *345*1*4*5#.

A typical use case example: USSD Voucherless Top Up system (see attached image)... the retailer needs to enter its PIN, the desired action of the welcome menu, the customer's account number, the Top Up amount (which could be a fixed or flexible amount), then it dials something like this: *777*PIN*1*9998765*8*80# or even simpler like *777*PIN*1*9998765*80# (the confirmation option is not listed, though it could usually be a better idea to have a final glimpse of what action is being taken). Then, in approximately 5 seconds the retailer sold the flexible amount of $80 to 9998765 thru its account (whose PIN could be something like 1234), via the USSD code 777, an action that would take much longer (1 minute or more, had he done it step by step initiating with just *777#), thus less sales per day and less revenue either for the retailer and the MNO. Equally important, TCAP dialog capacity would be positively impacted too.

Similar examples could be pointed out for other projects like mobile wallet that is huge in some Latin American and African countries through USSD. This should be taken as a major issue, as from personal experience, MNOs which already deployed USSD Gateways willing to replace with ours, would not accept it if it does not support this type of direct dialing/fast access.

This issue is related to RestComm/Restcomm-Connect#586

fast-dial

NullPointerException in high load servers

We have reported of NullPointerException only in high load servers (USSD GW 6.2.1.GA)

2016-06-24 00:25:09,559 ERROR (pool-34-thread-1) Exception while processing PROCESS_UNSTRUCTURED_SS_REQUEST_INDICATION = ProcessUnstructuredSSRequestWrapper [wrapped=ProcessUnstructuredSSRequest [DialogId=26593, ussdDataCodingSch=CBSDataCodingScheme [Code=15, CBSDataCodingGroup=GeneralGsm7, NationalLanguageShiftTable=LanguageUnspecified, CharacterSet=GSM7], ussdString=*4#], msisdn=ISDNAddressString[AddressNature=international_number, NumberingPlan=ISDN, Address=249124405899]]] MAPDialog = MAPDialogSupplementaryWrapper [wrappedDialog=MAPDialog: LocalDialogId=26593 RemoteDialogId=1478874 MAPDialogState=INITIAL_RECEIVED MAPApplicationContext=MAPApplicationContext [Name=networkUnstructuredSsContext, Version=version2, Oid=0, 4, 0, 0, 1, 0, 19, 2, ] TCAPDialogState=InitialReceived]
java.lang.NullPointerException
at org.mobicents.ussdgateway.slee.sip.SipClientSbb.buildInvite(SipClientSbb.java:590)
at org.mobicents.ussdgateway.slee.sip.SipClientSbb.sendUssdData(SipClientSbb.java:429)
at org.mobicents.ussdgateway.slee.ChildSbb.onProcessUnstructuredSSRequest(ChildSbb.java:156)
at sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.mobicents.slee.runtime.sbbentity.SbbEntityImpl.invokeEventHandler(SbbEntityImpl.java:479)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:379)
at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
at org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:76)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Tickets for them: 33355 and 33746

Messageflow is SS7 -> USSD GW -> SIP (ProcessUnstructuredSSRequest)

The probable reason is in the code ParentSbb.java:
(https://github.com/RestComm/ussdgateway/blob/master/core/slee/sbbs/src/main/java/org/mobicents/ussdgateway/slee/ParentSbb.java)
public void onProcessUnstructuredSSRequest(ProcessUnstructuredSSRequest evt, ActivityContextInterface aci) {
// ..............
ChildRelation relation = this.getSipSbb();
ChildSbbLocalObject child = (ChildSbbLocalObject) relation.create();
child.setCallFact(call);
child.setXmlMAPDialog(this.getDialog());
forwardEvent(child, aci);

"child.setCallFact(call);" code sets "call" into a CMP variable of a child SBB.
"forwardEvent(child, aci);" schuld then initiate of "onProcessUnstructuredSSRequest()" event in the child SBB.
But inside child SBB this CMD is null. We need to investigate it.

Association Peer Exchange without reason

Hi

In my USSD Gateway I had a server in SCTP section with two associations

associations

asconecta2 > peer 10.201.112.11 > Port SCTP 2905
asconecta3 > peer 10.201.112.139 > Port SCTP 2905

But in server.log its change without reason, xml files and a pcap capture attached.

2017-01-20 15:50:33,926 INFO [org.apache.coyote.http11.Http11Protocol] (main) Starting Coyote HTTP/1.1 on http-172.21.25.10-8080
2017-01-20 15:50:33,945 INFO [org.apache.coyote.ajp.AjpProtocol] (main) Starting Coyote AJP/1.3 on ajp-172.21.25.10-8009
2017-01-20 15:50:33,951 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 26s:723ms
2017-01-20 15:53:57,544 INFO [org.mobicents.protocols.sctp.SelectorThread] (Thread-17) Connected Association [name=asconecta2, associationType=SERVER, ipChannelType=SCTP, hostAddress=, hostPort=0, peerAddress=10.201.112.11, peerPort=2905, serverName=conectaserver, extraHostAddress=[]]
**2017-01-20 15:53:57,546 INFO [org.mobicents.protocols.sctp.AssociationHandler] (Thread-17) New association setup for Association=asconecta2 with 10 outbound streams, and 17 inbound streams.

2017-01-20 15:54:01,127 WARN [org.mobicents.protocols.sctp.AssociationHandler] (Thread-17) Peer Address changed to=/10.201.112.139:2905 for Association=asconecta2
2017-01-20 15:54:01,989 WARN [org.mobicents.protocols.ss7.sccp.impl.SccpStackImpl-SccpStack] (pool-24-thread-1) Rx : MTP-RESUME: AffectedDpc=3606

ussd_20012017.pcap.zip
xml_ussd.zip

**

Switching to Javolution 6.1

We have some issues in Javolution 5.5.1 - xml part of it does not properly decode "\n" characters inside a String value: (decimal values like are processed well).

Javolution 6.1 is patched for it. But starting from version 6.0 it has different API interface and swithcing to this version needs the major code update. FastMap is replaced to other class(es) and XML part is also changed. We need to switch to all GWs at the single step because we can not use at the same server both Javolution 5.5 and 6.1.

Before this we need to fix the issue: RestComm/jss7#61

Docs: increasing of a limit of HTTP requests maxThreads

Chapter "6.3. Configuring JSLEE http-client RA" describes how to encrease of limitation of HTTP client RA - pull case. We need to add a description how to encrease a limit of concurrent HTTP connection for HTTP server (PUSH case):

Add maxThreads="500" to "jboss-5.1.0.GA/server/default/deploy/jbossweb.sar/server.xml"
for HTTP Connector so it looks like below

This is limit of concurrent requests Tomcat can take.

GUI: Delete Short Cut not working when its invalid

When trying to deleting an invalid USSD shortcut by clicking in the appropriate button in "Routing Rule" window, nothing happens. Hence, a badly set shortcut is impossible to fix or delete. See attached image where accidentally *333" was configured but then impossible to correct or delete (tested with Google Chrome and Mozilla Firefox with identical results). That's all that happens, the tooltip appears but the rule stays no matter what you do in the GUI.
If the shortcut is properly set (e.g. *101#), then it works normally. However, bad shortcut setting may happen and there's no fix available today for such scenario.
ussd-gw_delete_bad_shortcut_not_working

Another null http 200 OK response

2016-07-12 16:33:45,189 ERROR [javax.slee.SbbNotification[service=ServiceID[name=mobicents-ussdgateway,vendor=org.mobicents,version=1.0],sbb=SbbID[name=HttpClientSbb,vendor=org.mobicents,version=1.0]].USSD-Child-org.mobicents.ussdgateway.slee.http.HttpClientSbbImpl] (pool-38-thread-1) Error while processing RESPONSE event
java.lang.Exception: Error while processing 2xx
    at org.mobicents.ussdgateway.slee.http.HttpClientSbb.onResponseEvent(HttpClientSbb.java:173)
    at sun.reflect.GeneratedMethodAccessor297.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.mobicents.slee.runtime.sbbentity.SbbEntityImpl.invokeEventHandler(SbbEntityImpl.java:479)
    at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.routeQueuedEvent(EventRoutingTaskImpl.java:379)
    at org.mobicents.slee.runtime.eventrouter.routingtask.EventRoutingTaskImpl.run(EventRoutingTaskImpl.java:126)
    at org.mobicents.slee.runtime.eventrouter.EventRouterExecutorImpl$EventRoutingTaskStatsCollector.run(EventRouterExecutorImpl.java:76)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Received invalid payload from http server (null or zero length)
    at org.mobicents.ussdgateway.slee.http.HttpClientSbb.onResponseEvent(HttpClientSbb.java:114)
    ... 10 more
2016-07-12 16:34:04,789 WARN  [javax.slee.SbbNotification[service=ServiceID[name=mobicents-ussdgateway,vendor=org.mobicents,version=1.0],sbb=SbbID[name=ParentSbb,vendor=org.mobicents,version=1.0]].USSD-Parent-org.mobicents.ussdgateway.slee.ParentSbbImpl] (pool-37-thread-1) No routing rule configured for short code=*27*99# and network id=0
  • After that, USSD GW is not response anything back to the upstream and after some time, upstream send some sctp data retransmission and BAN our connection.

USSD GW should handle this exception and send back "server error"

ApplicationContextName of non activated MAPService is received. Will send back TCAP Abort

Hi,

I have build USSD gateway from source after that deploy it on JBoss, then configure it with local Simulator, Stack up successfully,
While sending PSSR request from simulator, i receive ABORT message.

10:41:57,638 WARN [MAPStackImpl-MapStack] ApplicationContextName of non activated MAPService is received. Will send back TCAP Abort : 0, 4, 0, 0, 1, 0, 19, 2,

I am attaching tshark dump.

trace.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.