Design Specification Prepared by: Team #6 Project: Generic SMS Gateway Introduction Description This project will require for the team to build a HTTP and a SMPP SMS client that can integrate with a hosted SMS gateway. It should support the capability to bind with any open SMS gateway by customizing required parameters. Requirements: The SMS client should be able to satisfy the following requirements, 1. It should support any HTTP and SMPP SMS gateways 2. It should have the ability to dynamically change the binding to any gateway by changing binding parameters. (Yue: so it does not need to do so automatically?) 3. Should integrate with EVI Communication profiles 4. Should be able to support Two-Way SMS capabilities. 1 Design Architecture Based on the description and the requirement of the project, we can determine the overall architecture of our project. Yue: you may want to high the parts that will be built by your project. SMS Center SMSC Protocol 1 SMS Center SMS Center SMSC Protocol 2 SMS Center SMSC Protocol 3 SMSC Protocol 4 SMS gateway HTTP/ HTTPS SMPP Web Service Web Browser Mail Server Web Application Sessions Profile EVI My SQL Database Figure 1. System Architecture Web Browser: Running on client-side, it allows users log in and send SMS messages. EVI (Enterprise Voice Integration) profile: contain the information of customers. Based on this information, the web application can determine the route and protocol for transferring a message. SMS Gateway: an SMS gateway can be set up to handle the connections to the SMSCs. To connect to an SMS gateway, you can use an SMSC protocol such as SMPP, HTTP/HTTPS, email to SMS, etc. SMS Center: A SMS center (SMSC) is responsible for handling the SMS operations of a wireless network. When an SMS message is sent from a mobile phone, it will reach an SMS center first. The SMS center then forwards the SMS message towards the destination. 2 Web Application: Running in the server-side, it handles requests from SMS users for sending and receiving SMS message. Beside, the web application can get the information from EVI profile or database, and then it decides the route and the protocol that it uses to send the SMS message. This is the server side component to be built by the project. Functions of the web application includes: Allow users to register Allow users to login Allow users to create their EVI profile (Can we assume that the EVI profiles already exist.) Allow users to send/receive/reply SMS messages Allow users to request information from their EVI profile by sending a special SMS message Allow users to request ring tones/wallpapers (if SMSCs support this feature) Allow user to request information like stock price, weather … Allow users to set/receive alerts for their important appointment or meeting Allow users manage their account Allow administrators to login Allow administrator create/manage users Allow administrator configure system Allow administrator manage SMS account gateway Allow administrator keep track the operations of the system Scenarios of web application (Do you want to show some use case or sequence diagrams?) (1) The new users register with the system, then create their EVI profiles (optional, they can create it later), and login to the system for sending/receiving SMS messages. The registered users must login first, and then they can create their EVI profile or sending/receiving/replying/checking their SMS messages. (Is this the same as the first one except for the registration part?) The registered users can send a special SMS message for requesting information in their EVI profile. Ex sending message: username password 100 requestedUserID => get the phone number of the user in my profile which ID is requested ID. The user (without registration) can use our service like download ringtones, wallpaper, requesting stock price, weather … by sending a special SMS message like above The registered users must login, and then set the alert for their important meeting. The system will send alert SMS message to these user when the time is coming. The registered users must login, and then create a list of phone number that they don’t want to receive message from. The administrators must login, and then create/enable/disable user accounts The administrators must login, and then configure the system like enable/disable services (user request information or user alert service …) The administrators must login, and set the quota of message for each user. The administrators must login and then keep track the operations of system like to see how many messages this user send/receive, and the phone number that he sends to… 3 Schematic of Internet based SIM Hosting service 1. Installing it in a SIM slot in one of GSM modems (1). 2. SMS Gateway Service Provider application servers check user SIM card (2) for content every 3 seconds. Note: SIM based technology, the maximum throughput of messages is one per 3 seconds, up to a limit of 30,000 per month 3. The incoming messages are processed and entered into the secure database (3) and all messages are associated with user sms2email account login. 4. In order to view the incoming messages, you can log in to your sms2email.com account and download them in Microsoft excel compatible csv format, or (at no extra cost) you can have the messages forwarded to you via email (4), or HTTP POST'ed (5) to your own application server Note: (1) GSM Modem (2) SMS Gateway Service Provider Application Server (3) Secure database (4) Email Gateway (5) HTTP/HTTPS Interface Figure 2. Schematic of Internet based SIM Hosting service Please quote the source of the figure. Schematic of Internet based SMS textback service 1. User would log on to sms2email account. 2. Once user has logged on/signed up, you would click on "textback". Under this heading you can then reserve your keywords (subject to availability) 3. Once you have your keyword(s), user can start a campaign. Any text message sent to 07766 40 41 42 with user keyword at the start of the message will be forwarded to user by email and also stored on SMS Gateway service provider database so user can download them at a later date. NOTE : This service is free to all accountholders. However, it is subject to a fair-usage policy. If you are using this service for business purposes, we would recommend contacting us for a dedicated number. Note: (1) Application Web Server of SMS Gateway service provider. (2) Internet (3) SMPP Traffic (4) SMSC (5) GSM Network 4 Figure 3. Schematic of Internet based SMS text back service Use case diagram Is ‘Mobile’ a user agent? Why can’t it send SMS? Will the User search the SMS he has sent or receive? Register Create User Manage User Login Configure System Administrator User Create Profile Manage SMS Gateway Account Send SMS Message Login Send back SMS Message Reply SMS Message Figure 4. Use Case Diagram Sequence diagram Register Users Browser SMS Application Server : Connect : Register :User Account Infomation 5 Mobile Reply SMS Message Login Users/Admins Browser SMS Application Server : Connect : Login : Display SMS message Send SMS Message Users Browser SMS Application Server SMS Gateway SMS Center Mobile : Login : Connect :Send SMS Message : Choose SMS Gateway Route SMS Message Deliver SMS Message You will need to add certain acknowledgement or error messages from the SMS application server to the users. It can be more complicated since for some errors, the Application Server may not know an error has occurred until it hears from the SMS gateway. Receive SMS Message Mobile SMS Center SMS Gateway SMS Application Server Browser Users Send SMS Message Route SMS Message : Forward SMS Message : Push SMS Message : Display SMS Message You will need to add certain acknowledgement or error messages from the SMS application server to the users. 6 Reply SMS Message from Mobile Users SMS Application SMS Application Server SMS Gateway SMS Center Mobile : Login : Connect :Send SMS Message : Choose SMS Gateway Route SMS Message Deliver SMS Message :Send SMS Message : Route SMS Message :Deliver SMS Message :Display SMS Message Reply SMS Message from Browser Mobile SMS Center SMS Gateway SMS Application Server Browser Users Send SMS Message Route SMS Message : Forward SMS Message : Push SMS Message : Display SMS Message Login Send SMS Message : Choose SMS Gateway : Route SMS Message Deliver SMS Message 7 Create Profile Users Browser SMS Application Server : Connect : Login Create Profile : Display SMS message and users’ profile Create User Admins Browser SMS Application Server : Connect : Login Create Users Manage User Admins Browser SMS Application Server : Connect : Login Manage Users 8 Configure System Admins Browser SMS Application Server : Connect : Login Configure System Manage SMS Account Admins Browser SMS Application Server : Connect : Login Manage SMS Account 9