Dial-up ordering server software development

  • Posted:
  • Proposals: 0
  • Remote
  • #39823
  • Expired
  • 1

Description

Experience Level: Expert
The System is a dial up server, receiving incoming calls from computers with fax modems in pharmacies around Ireland, using the IPUCOMMS 2.4 data format specification. Documentation link at the bottom of this document.
The hardware configured is a dedicated linux(centos or debian available) server, with a Dialogic DIVA 4BRI-8 card, with 2 connected ISDN-BRI cables. More details on the card at the bottom of the document. This should allow 4 consecutive incoming calls to be handled by the system.
The software to be developed should manage incoming calls and the communication protocol of the IPUCOMMS specification. Any language can be used including python, Java, C. Whatever language is deemed to facilitate completing the project in time.
The goal of the software development is to achieve the following process life cycle:
An incoming call is received from an outside line. Pick-up
Determine data communication, log incoming call information and register if it is a data connection attempt. If not data connection, drop call.
Determine if the data connection protocol is appropriate (correct modem protocol and IPUCOMMS handshake request present) Log appropriately. If not IPUCOMMS drop call
Follow the IPUCOMMS procedure to accept incoming order line data. Validate formatting. Decode and Log full data to UTF-8 text format.
The data that should be included is the date and time of the transmission,
the caller id it is coming from,
the IPUCOMMS data including all customer identifiers
any docket or order sequence data
The actual order line item lines
Store the data to database (mysql innodb table)
HTTP POST the requested information to a URL we will specify at a later date.
This simple webservice will perform inventory validation and will respond with a simple xml or json formatted response, showing items available / notavailable per line item in the order.
The webservice code is still being built so more documentation will be provided as it becomes available.
The service will be enforcing SSL connections only, and require to originate from a controlled list of host IP\'s.
Log the response to file.
Format an IPCOMMS response from the webservices response, relay to the customer over the phone line the response according to the IPUCOMMS spec. Each product which is available will be ordered, but the customer must know what items were unavailable so as not to update the stock database with these items. Log the response to the database.
Resolve any other IPUCOMMS communication procedure to end the call.
This should outline the full lifecycle of a successful call.

Supporting Documentation

IPUCOMMS 2.4 https://docs.google.com/document/edit?id=1etMT6sEHoyGl4KvqjQ_4lSd8G4m8u7xjNh_ZZkTRZsA&hl=en_GB&authkey=CJzhiPMJ
https://docs.google.com/fileview?id=13-GUsO6tcX8V7Hk8Y1hE34hPHSt5-6IQSzl8Xy6jYHVObSLSjQDqWURFy0a1&hl=en_GB&authkey=CO248MAO
The hardware setup is a centos server(though this can be reset to debian if requierd) and a Dialogic DIVA BRI-4 card. http://www.dialogic.com/products/tdm_boards/media_processing/Diva_Server_4BRI_8M.htm

New Proposal

Create an account now and send a proposal now to get this job.

Sign up

Clarification Board Ask a Question

    There are no clarification messages.