Download xlsx - TestFunctionUSSD.xls

Transcript

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