HmTn hmM t TH testKch bnKt qu mong iTrng thiTH kch bn vit ng quy
tc s dng hmSENDKim tra chc nng gi on text, k t \n thay cho xung
dng[SEND1]exten => s,1,Send("Test ham Send.\nKiem tra xuong
dong.\nBam 0 de thoat")exten => 0,1,Hangup()
Author: dinhvv:Thi gian timeout khi gi hm send s c vit trong
SET(TIMEOUT=x). Bin ny s c b sung sau Huyn nh.Default: 30s Hin th
"Test ham Send. Kiem tra xuong dong. Bam 0 de thoat"Nu ND bm 0 th
close session lunNu ND khng bm phm th close session sau 30sKim tra
vic block tin trnh x l kch bn (khi gi hm Send, khng thc hin lnh tip
theo trong kch bn cho n khi c event xy ra)[SEND2]exten =>
s,1,Send("Test ham Send lan 1. Bam 1 de thoat")exten =>
s,n,Send("Test ham Send lan 2. Bam 2 de thoat")exten =>
1,1,Hangup()
Author: dinhvv:Thc t khng th thc hin gi 2 hm send lin tip khi khng
c tc ng ca ngi dng.Khi send timeout xy ra, event t[timeout] c gi,
nu khng khai bo t, USSDA s t close session.Note: Trong cc event h,t
khng thc hin gi hm send. Hin th "Test ham Send lan 1. Bam 1 de
thoat", sau ng i.Nu ND bm 1 th close session lunNu ND khng bm phm
th close session sau 30sHANGUPKim tra vic gi bn tin END n USSDS khi
gi hm Hangup. (event hangup c gi ngay sau khi bn tin END c gi ti
USSDS)Kim tra vic thc hin on kch bn trong event h, sau mi gii phng
session[HANGUP]exten => s,1,Send("Bam 0 gi hm Hangup")exten
=> 0,1,Hangup("Dang chay ham Hangup")exten => h,1,Send("Thuc
hien kich ban cua event h")
Author: dinhvv:- Cu hnh khng sai, nhng s sai khi thc hin.- Khi gi n
hm Hangup, th session s close. Do , hm send event h s khng thc hin
c.Hin th "Bam 0 gi hm Hangup"Nu ND bm 0, hin th "Thuc hien kich ban
cua event h", sau mi close sessionsai[HANGUP]exten =>
s,1,Send("Bam 0 gi hm Hangup")exten => 0,1,Hangup("Dang chay ham
Hangup")exten => h,1,InsertDB()GOTO[111]exten =>
s,1,Send("Bam 222 de den context 222.\nBam 1111 de den vi tri
extension 1 cua context 111.\nBam 0 de thoat")exten =>
s,n,Goto(1)exten => 222,1,Goto(222,s,1)exten =>
1111,1,Goto(1,1)exten => 1,1,Send("Day la vi tri extension 1 cua
context 111. Bam 9 de quay lai")exten => 9,1,Goto(s,1)exten
=> 0,1,Hangup()[222]exten => s,1,Send("Day la context 222.
Bam 111 de den context 111. Bam 0 de thoat") exten =>
111,1,Goto(111,s,1)exten => 0,1,Hangup()
Goto(Priority): Nhy n v tr Priority trong cng Context,
Goto(Extension,Priority): Nhy n v tr Extension,Priority trong cng
Context. Goto(Context,Extension,Priority): Nhy n v tr ch nh.
Cc priority k tip nhau nhng t v tr ko ni tip nhau trong kch bn
th c chy c khng
Author: dinhvv:V l thuyt: chy.Nu dng tool, s t sp xp li cc priority
nn s khng xy ra trng hp ny.SET[SET]exten => s,1,SET(V1=123)exten
=> s,n,SET(V2=456)exten => s,n,Send("Gia tri bien V1:
${V1}\nGia tri bien V2: ${V2}"\nBam 0 de thoat)exten =>
0,1,Hangup()Hin th:Gia tri bien V1: 123Gia tri bien V2: 456
di ti a ca cc binLEN[LEN]exten => s,1,SET(V1=123456789)exten
=> s,n,SET(V2=456)exten => s,n,SET(len1=LEN(${V1}))exten
=> s,n,SET(len2=LEN(${V2}))exten => s,n,Send("Bien V1: ${V1},
do dai: ${len1}\nBien V2: ${V2}, do dai: ${len2}\nBam 0 de
thoat)exten => 0,1,Hangup()")Hin th:Bien V1: 123456789, do dai:
9Bien V2: 456, do dai: 3GOTOIF[GOTOIF]exten =>
s,1,SET(len=Len(${MSISDN}) exten =>
s,2(loop),GotoIf($[${len}=0]?done) exten => s,3,SET(len=
${len}-1) exten => s,4,GotoIf($[${len}=4]?GOTOIF,8,1:GOTOIF,s,5)
exten => s,5,Send("MSISDN hien tai = ${len}.Bam 9 de tiep tuc.
Bam 0 de ket thuc")exten => s,6,Goto(loop) exten =>
s,7(done),Send(OK) exten => 9,1,Goto(s,6)exten =>
8,2,Send("Do dai = 4 roi.Bam 9 de tiep tuc.Bam 0 de ket thuc")exten
=> 0,1,Hangup() GOTOIF,9,2: nu khng c context c c
khngWAIT[WAIT]exten => s,1,WAIT(10)exten => s,2,Send("Duoc
10s khong?Bam 0 de thoat")exten => 0,1,Hangup()
Bin session[BIEN]exten => s,1,Send("Bam 1 de hien thi so dien
thoai\nBam 2 de hien thi Service Code\nBam 3 de hien thi thoi gian
hien tai\nBam 4 de hien thi sessionId hien tai\nBam 5 de hien thi
context hien tai\nBam 6 de hien thi exten hien tai \nBam 7 de hien
thi priority hien tai\nBam 8 de hien thi session hien tai\nBam 9 de
hien thi reason\nBam 0 de thoat")extent => 1,1,Send("So dien
thoai: ${MSISDN}. Bam b de quay lai")extent => 2,1,Send("So dien
thoai: ${SERVICECODE}. Bam b de quay lai")extent => 3,1,Send("So
dien thoai: ${DATETIME}. Bam b de quay lai")extent =>
4,1,Send("So dien thoai: ${SESSIONID}. Bam b de quay lai")extent
=> 5,1,Send("So dien thoai: ${CONTEXT}. Bam b de quay
lai")extent => 6,1,Send("So dien thoai: ${EXTEN}. Bam b de quay
lai")extent => 7,1,Send("So dien thoai: ${PRIORITY}. Bam b de
quay lai")extent => 8,1,Send("So dien thoai: ${SESSION}. Bam b
de quay lai")extent => 9,1,Send("So dien thoai: ${REASON}. Bam b
de quay lai")extent => 0,1,Hangup()extent => b,1,Goto(s,1)cha
kt thc session th lm sao hin th bin reason
Author: dinhvv:Nu cha kt thc session, bin REASON s tr v null
string: ""Cc php tonCng, tr, nhn, chiach thc hin c vi kiu
s[PHEPTOAN]exten => s,1,SET(V1=15)exten => s,2,SET(V2=3)exten
=> s,3,Send("Gia tri bien V1: ${V1}\nGia tri bien V2: ${V2}\nBam
CONG de cong 2 so\nBam TRU de tru 2 so\nBam NHAN de nhan 2 so\nBam
CHIA de chia 2 so\nBam 0 de thoat")exten => 0,1,Hangup()exten
=> b,1,Goto(s,3)exten => CONG,1,set(cong = ${V1}+${V2})exten
=> CONG,2,Send("${V1}+${V2}=${cong}. Bam b de quay lai")exten
=> TRU,1,set(tru = ${V1}-${V2})exten =>
TRU,2,Send("${V1}-${V2}=${tru}. Bam b de quay lai")exten =>
NHAN,1,set(nhan = ${V1}*${V2})exten =>
NHAN,2,Send("${V1}x${V2}=${nhan}. Bam b de quay lai")exten =>
CHIA,1,set(chia = ${V1}/:${V2})exten =>
CHIA,2,Send("${V1}:${V2}=${chia}. Bam b de quay lai")hm convert 2
bin ra 2 s l hm no> ch thc hin c vi kiu s
Sau khi test xong th sa li V1 nh hn[PHEPSOSANH1]exten =>
s,1,SET(V1=15)exten => s,2,SET(V2=3)exten =>
s,3,GotoIf($["${V1}" > "${V2}"]?a:b) exten =>
s,4(a),Send("${V1} > ${V2}. Bam 0 de thoat")exten =>
s,5(b),Send("${V1} < ${V2}. Bam 0 de thoat")exten =>
0,1,Hangup() s,1,SET(V1=15)exten => s,2,SET(V2=3)exten =>
s,3,GotoIf($["${V1}" < "${V2}"]?b:a) exten =>
s,4(a),Send("${V1} > ${V2}. Bam 0 de thoat")exten =>
s,5(b),Send("${V1} < ${V2}. Bam 0 de thoat")exten =>
0,1,Hangup()>=ch thc hin c vi kiu s
Sau khi test xong th sa li V1 = V2 v V1 <
V2[PHEPSOSANH3]exten => s,1,SET(V1=15)exten =>
s,2,SET(V2=3)exten => s,3,GotoIf($["${V1}" >= "${V2}"]?a:b)
exten => s,4(a),Send("${V1} >= ${V2}. Bam 0 de thoat")exten
=> s,5(b),Send("${V1} < ${V2}. Bam 0 de thoat")exten =>
0,1,Hangup()>=ch thc hin c vi kiu s
Sau khi test xong th sa li V1 = V2 v V1 <
V2[PHEPSOSANH3]exten => s,1,SET(V1=15)exten =>
s,2,SET(V2=3)exten => s,3,GotoIf($["${V1}" s,4(a),Send("${V1}
${V2}. Bam 0 de thoat")exten => 0,1,Hangup()=thc hin vi s v
chui
Sau khi test xong th sa li V1 > V2 v V1 < V2Sa V1 c nhiu
ch s hn V2vd: V1 = 12 V2 = 12345Sa V1 c nhiu ch s hn V2 nhng gi tr
ln hnvd: V1 = 14567 V2 = 299[PHEPSOSANH4]exten =>
s,1,SET(V1=15)exten => s,2,SET(V2=15)exten =>
s,3,GotoIf($["${V1}" = "${V2}"]?a:b) exten => s,4(a),Send("${V1}
= ${V2}. Bam 0 de thoat")exten => s,5(b),Send("${V1} khac ${V2}.
Bam 0 de thoat")exten => 0,1,Hangup()hm convert 2 bin ra 2 s l
hm no!=thc hin vi s v chui
Sau khi test xong th sa li V1 > V2 v V1 < V2Sa V1 c nhiu
ch s hn V2vd: V1 = 12 V2 = 12345Sa V1 c nhiu ch s hn V2 nhng gi tr
ln hnvd: V1 = 14567 V2 = 299[PHEPSOSANH4]exten =>
s,1,SET(V1=15)exten => s,2,SET(V2=15)exten =>
s,3,GotoIf($["${V1}" != "${V2}"]?b:a) exten =>
s,4(a),Send("${V1} = ${V2}. Bam 0 de thoat")exten =>
s,5(b),Send("${V1} khac ${V2}. Bam 0 de thoat")exten =>
0,1,Hangup()Cng chui[CONGCHUOI]exten => s,1,SET(V1=123)exten
=> s,2,SET(V2=456789)exten =>
s,3,SET(congchuoi=${V1}"-"${V2}) exten => s,4,Send("Cong chuoi =
${congchuoi}. Bam 0 de thoat")exten => 0,1,Hangup()Cat
chuoi[CATCHUOI]exten => s,1,SET(V1=123456789)exten =>
s,2,Send("Bam 1 de bo ky tu dau tien ben trai\nBam 2 de lay 4 ky tu
cuoi ben phai\nBam 3 de lay 3 ky tu dau ben trai\nBam 4 de lay 3 ky
tu tinh tu vi tri thu 3 ben trai\nBam 5 de lay 3 ky tu tinh tu vi
tri thu 4 ben phai\nBam 0 de thoat")exten => b,1,Goto(s,2)exten
=> 1,1,Send("${(V1:1}. Bam b de quay lai")exten =>
2,1,Send("${123456789:-4}. Bam b de quay lai")exten =>
3,1,Send("${123456789:0:3}. Bam b de quay lai")exten =>
4,1,Send("${123456789:2:3}. Bam b de quay lai")exten =>
5,1,Send("${123456789:-4:3}. Bam b de quay lai")exten =>
0,1,Hangup()priority khng ni tip nhau th c x l c khngvd:
1,2,4,5,6,8,9, khng co 3 v 7
Author: dinhvv:Thng l khng.Tuy nhin, khng khuyn khch cu hnh bng
tay. Nu bt buc, dng priority n thay cho cc gi tr t 2 tr i.TH kch bn
vit ng quy tc s dng hmVit tn hm khng tn tih thng s cnh bo hay x l
nh th no?
Author: dinhvv:Hm khng tn ti, h thng s ghi li khng tn ti ra log,
console.B qua priority ny v thc hin lnh tip sau.Vit sai c php gi
hm, truyn thiu tham s khi gi hmTruyn sai kiu d liu (cc php ton)
Gi tr , di ti a ca bin kiu sGi tr ti a cac php ton c th thc hin
c di ti a ca chui k t trong hm Send
Lung x l + DBTrng hp liM t liYu cu1Ngi dng gi tin ussd, sau khng
gi tin no naH thng khng t close sessionT ng close session, insert
thng tin DB