SMS küldés és fogadás ASP alkalmazásból
Ez a weboldal elsősorban ASP fejlesztőknek
készült, hogy megismerjék az SMS küldési lehetőségeket ASP alkalmazásból
mobilkészülékekre az Ozeki NG SMS Gateway segítségével. Az Ozeki NG SMS Gateway
szoftver felelős azért, hogy az SMS üzenetek a mobilhálózatba érkezzenek. Az
üzeneteket vagy egy számítógéphez adatkábellel csatlakoztatott GSM modem
segítségével továbbítja a mobilhálózatba; vagy közvetlenül kapcsolódik a
mobilszolgáltató SMS központjához. Ebben a cikkben részletesebben olvashat
arról, hogyan adhat SMS funkcionalitást ASP alkalmazásának.
SMS küldés és fogadás ASP-ból adatbázis alkalmazásával
Ha SMS funkcionalitást szeretne biztosítani ASP projektjének,
akkor erre az egyik lehetőség, ha SQL SMS Gateway architektúrát alkalmaz. Ebben
az architektúrában az ASP-t támogató weboldal egy adatbázis szervert használ
(Microsoft SQL Server, Oracle or MySQL) az adatok tárolására. Az SMS
funkcionalitás eléréséhez csak annyit kell tennie ebben az esetben, hogy
létrehoz két adatbázistáblát az adatbázis szerverben. Az egyiket a kimenő
üzenetek számára (ozekimessageout), a másikat pedig a bejövő üzeneteknek
(ozekimessagein). Ezeket az adatbázistáblákat kell majd használnia az SQL SMS
Gateway konfigurációban. Ebben az esetben az Ozeki NG SMS Gateway
SQL SMS Gateway konfigurációja a következő módon működik (Ábra 1):
Ábra 1 - SMS küldés és fogadás ASP-ból adatbázison keresztül.
Ha SMS üzenetet kap, az SMS szoftver beilleszt egy bejegyzést
az "ozekimessagein" táblába erről a bejövő üzenetről. Az ASP alkalmazás pedig
beolvassa ezt az adatbázistáblát bejövő üzeneteket keresve. Az SMS küldéshez
az "ozekimessageout" táblát használhatja, mégpedig úgy, hogy beilleszt egy
bejegyzést ebbe a táblába. Az Ozeki NG SMS Gateway időközönként ellenőrzi a
kimenő adatbázistáblát SQL Select parancsot használva és ha talál még ki nem
küldött üzenetet, akkor kiküldi a mobilhálózat felé.
Az adatbázistáblákat a következő módon szerkesztheti meg:
|
CREATE TABLE ozekimessagein (
id int IDENTITY (1,1),
sender varchar(30),
receiver varchar(30),
msg varchar(160),
senttime varchar(100),
receivedtime varchar(100),
operator varchar(30),
msgtype varchar(30),
reference varchar(30),
);
CREATE TABLE ozekimessageout (
id int IDENTITY (1,1),
sender varchar(30),
receiver varchar(30),
msg varchar(160),
senttime varchar(100),
receivedtime varchar(100),
operator varchar(100),
msgtype varchar(30),
reference varchar(30),
status varchar(30),
errormsg varchar(250)
); |
SMS küldés és fogadás ASP alkalmazásban HTTP használatával
A másik lehetőség arra, hogy SMS funkcionalitást biztosítson
az ASP alkalmazásának az, hogy közvetlenül kommunikál az SMS szoftverrel HTTP-n
keresztül. Ez a megoldás ideális abban az esetben, ha nincs adatbázis szerver
csatlakoztatva a weboldalához vagy nem akarja azt használni. A megoldás egyik
nagy előnye, hogy gyors reakcióidőt tesz lehetővé. Ha a HTTP SMS Gateway
konfigurációt használja és bejövő SMS üzenete van, akkor lehetősége van azonnal
reagálni egy válasz SMS-sel. Ezt a megoldást a 2. ábrán tanulmányozhatja.
Ábra 1 - SMS küldés és fogadás ASP-ból HTTP-n keresztül.
Forráskód példa SMS küldéshez
Ezt az SMS formátumot kell a felhasználóknak értelemszerűen kitölteni az SMS
üzenet elküldéséhez.
A következő fájlt töltse le: smssend.zip
smssend.asp
...
<form method="post" action="">
<table align="center">
<tr>
<td colspan="2" align="center">
<b>Compose a message</b>
<br><br>
</td>
</tr>
<tr>
<td>
Recipient:
</td>
<td>
<input type="text" name="recipient" value=
"<%response.write(Request.form("recipient"))%>" size="40">
</td>
</tr>
<tr>
<td valign="top">
Message text:
</td>
<td>
<textarea name="messagetext" rows="3" cols="40">
<%response.write(Request.form("messagetext"))%></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Send">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<%
... 'Processing script text
%>
</td>
</tr>
</table>
</form>
...
|
smssend.asp
...
<form method="post" action="">
<table align="center">
...
<tr>
<td colspan="2" align="center">
<%
if Request.form("recipient") = "" then
response.write("<font color='red'>Recipient
'field mustn't be empty!</font>")
else
dim createdURL
createdURL = "" 'It will be the entire URL that we
'send to Ozeki NG SMS Gateway Server
dim ozSURL
ozSURL = "http://127.0.0.1" 'URL of that machine
'on where Ozeki NG SMS Gateway Server is running
dim ozSPort
ozSPort = "9501" 'Port number on which Ozeki NG SMS
'Gateway Server is listening to
dim ozUser
ozUser = server.URLEncode("admin") 'User name of that user
'who can login to Ozeki NG SMS Gateway Server
dim ozPassw
ozPassw = server.URLEncode("abc123") 'Password of user above
dim ozMessageType
ozMessageType = "SMS:TEXT" 'Type of message that we want to send
dim ozRecipient
ozRecipient = server.URLEncode(Request.form("recipient")) 'Recipient of
'the message
dim ozMessageText
ozMessageData = server.URLEncode(Request.form("messagetext"))
'Message text we want to send
createdURL = ozSURL & ":" & ozSPort & "/httpapi?action=sendMessage" &
"&username=" & ozUser & "&password=" & ozPassw & "&messageType=" &
ozMessageType & "&recipient=" & ozRecipient & "&messageData=" & ozMessageData
response.Write("<iframe src=" & createdURL & " width='500'>")
end if
%>
</td>
</tr>
</table>
</form>
...
|
Amennyiben szeretné alkalmazni ezt a megoldást
vállalati rendszerében, látogassa meg termékoldalunkat,
ahol letöltheti az Ozeki NG SMS Gateway szoftvert.
|