23
Tên hàm Mô tả TH test TH kịch bản viết đúng quy tắc sử dụng hàm SEND HANGUP GOTO SET Kiểm tra chức năng gửi đoạn text, ký tự \n thay cho xuống dòng Kiểm tra việc block tiến trình xử lý kịch bản (khi gọi hàm Send, không thực hiện lệnh tiếp theo trong kịch bản cho đến khi có Kiểm tra việc gửi bản tin END đến USSDS khi gọi hàm Hangup. (event hangup được gọi ngay sau khi bản tin END được gửi tới USSDS) Kiểm tra việc thực hiện đoạn kịch bản trong event h, sau đó mới giải phóng session

TestFunctionUSSD.xls

Embed Size (px)

Citation preview

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