[c5c522c] | 1 | #!/bin/bash |
---|
| 2 | # (C)2009 DatuX - Released under GPL |
---|
| 3 | |
---|
| 4 | # Asterisk test script |
---|
| 5 | # Test de instellingen die gemaakt zijn door 01100_asteriskconf uit via de pjsip SIP client en via ssh commandos |
---|
| 6 | |
---|
| 7 | #dependencys: |
---|
| 8 | # -PBX op 192.168.13.1 met sip account 650, password 'test'. nummer 111 moet automatisch antwoorden op deze pbx. |
---|
| 9 | # -geluidskaart waarvan output terug gekoppeld staat naar capture input |
---|
| 10 | # -geluidskaart moet multichannel zijn (dus meerdere dingen tegelijk afspelen) |
---|
| 11 | # -om filmpjes te maken: xvidcap starten met 'aoss xvidcap' |
---|
| 12 | |
---|
| 13 | source testlib || exit 1 |
---|
| 14 | |
---|
| 15 | DESCRIPTION1="Sla test over indien we niet de juiste licentieoptie hebben." |
---|
| 16 | CMD="cat /etc/webint/REG" |
---|
| 17 | VERIFYPOSITIVE='"VAGU"' |
---|
| 18 | if ! sshtest; then |
---|
| 19 | echo "Dit is geen voiceserver, test overgeslagen" |
---|
| 20 | exit 0 |
---|
| 21 | fi |
---|
| 22 | |
---|
| 23 | |
---|
| 24 | |
---|
| 25 | TIMEOUT=30 |
---|
| 26 | |
---|
| 27 | ##################################################### Test afdeling ############################# |
---|
| 28 | # Tests hieronder toevoegen, gebruik makend van de functies van asterisktestlib |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | |
---|
| 32 | info "Basic check: Geen warning en errors in de logs bij herstart met lege logs?"; |
---|
| 33 | CMD="svcstop /service/asterisk |
---|
| 34 | rm /var/log/asterisk/full |
---|
| 35 | svcstart /service/asterisk |
---|
| 36 | " |
---|
| 37 | sshtest || exit 1 |
---|
| 38 | asterisk_errorcheck |
---|
| 39 | |
---|
| 40 | info "Basic check: Klopt het aantal geladen modules?"; |
---|
| 41 | VERIFYPOSITIVE="157 modules loaded" |
---|
| 42 | asterisk_cmd "show modules" || exit 1 |
---|
| 43 | |
---|
| 44 | |
---|
| 45 | #verbose mode |
---|
| 46 | VERIFYPOSITIVE="Verbosity" |
---|
| 47 | asterisk_cmd "set verbose 100" || exit 1 |
---|
| 48 | VERIFYPOSITIVE="Core debug" |
---|
| 49 | asterisk_cmd "set debug 100" || exit 1 |
---|
| 50 | |
---|
| 51 | |
---|
| 52 | info "Pjsua starten" |
---|
| 53 | pjsua_restart |
---|
| 54 | |
---|
| 55 | |
---|
| 56 | ####################################### SIP: registratie sip accounts |
---|
| 57 | info "Register user 100 tot 105" |
---|
| 58 | for USER in `seq 100 105`; do |
---|
| 59 | NOWAIT=1 |
---|
| 60 | PASSWD="test" |
---|
| 61 | sip_register $USER || exit 1 |
---|
| 62 | done |
---|
| 63 | |
---|
| 64 | |
---|
| 65 | ####################################### SIP: basic checks om te zien of het uberhaubt werkt |
---|
| 66 | info "Basic check: Bel 100 en hang op" |
---|
| 67 | sip_call 100 || exit 1 |
---|
| 68 | sip_hangup || exit 1 |
---|
| 69 | |
---|
| 70 | |
---|
| 71 | info "Basic check: bel 100, en beantwoord en hangop" |
---|
| 72 | sip_call 101 || exit 1 |
---|
| 73 | sip_answer || exit 1 |
---|
| 74 | sip_hangup || exit 1 |
---|
| 75 | |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | ####################################### SIP: voicemail systeem checken |
---|
| 79 | DESCRIPTION1="voorbereiding voicemail test: verwijder alle voicemail zooi 105 van server" |
---|
| 80 | CMD="rm -r /var/spool/asterisk/voicemail/default/105" |
---|
| 81 | sshtest || exit 1 |
---|
| 82 | |
---|
| 83 | info "Stel unavailable message in" |
---|
| 84 | sip_call '#' || exit 1 |
---|
| 85 | sip_waitanswer || exit 1 |
---|
| 86 | sip_dtmf "0" || exit 1 |
---|
| 87 | sip_dtmf "1" || exit 1 |
---|
| 88 | info "Spreek unavailable message in..." |
---|
| 89 | sleep 4 |
---|
| 90 | makesound |
---|
| 91 | sip_dtmf "#" || exit 1 |
---|
| 92 | sip_dtmf "1" || exit 1 |
---|
| 93 | sip_hangup || exit 1 |
---|
| 94 | |
---|
| 95 | DESCRIPTION1="unavail nu aanwezig op server?" |
---|
| 96 | CMD="ls /var/spool/asterisk/voicemail/default/105" |
---|
| 97 | VERIFYPOSITIVE="unavail.wav" |
---|
| 98 | sshtest || exit 1 |
---|
| 99 | |
---|
| 100 | info "Bel 105 en laat bericht achter" |
---|
| 101 | sip_call 105 || exit 1 |
---|
| 102 | sip_waitanswer || exit 1 |
---|
| 103 | sleep 6 |
---|
| 104 | info "Spreek bericht in..." |
---|
| 105 | makesound |
---|
| 106 | makesound |
---|
| 107 | sip_dtmf '#' |
---|
| 108 | sip_hangup || exit 1 |
---|
| 109 | |
---|
| 110 | DESCRIPTION1="check op server of we echt voicemail hebben. er moet wel geluid zijn ontvangen, anders drop asterisk het mailtje! " |
---|
| 111 | CMD="ls /var/spool/asterisk/voicemail/default/105/INBOX" |
---|
| 112 | VERIFYPOSITIVE="wav" |
---|
| 113 | sshtest || exit 1 |
---|
| 114 | |
---|
| 115 | |
---|
| 116 | info "Bel voicemail 105, luister het mailtje en maak hem leeg" |
---|
| 117 | sip_call '#' || exit 1 |
---|
| 118 | sip_waitanswer || exit 1 |
---|
| 119 | sip_dtmf "1" || exit 1 |
---|
| 120 | sleep 3 |
---|
| 121 | sip_dtmf "7" || exit 1 |
---|
| 122 | sip_hangup || exit 1 |
---|
| 123 | |
---|
| 124 | DESCRIPTION1="is voicemail box echt leeg?" |
---|
| 125 | CMD="ls /var/spool/asterisk/voicemail/default/105/INBOX" |
---|
| 126 | VERIFYNEGATIVE="wav" |
---|
| 127 | sshtest || exit 1 |
---|
| 128 | |
---|
| 129 | |
---|
| 130 | ####################################### SIP: follow me |
---|
| 131 | info "Followme testen" |
---|
| 132 | #extentie 111 draait op de datux centrale en moet meteen opnemen. (staat nu op 'directory service' insgesteld') |
---|
| 133 | sip_call 103 || exit 1 |
---|
| 134 | #wacht todat de incomende call op 103 stop. vanaf dat moment word followme actief: |
---|
| 135 | sip_waithangup || exit 1 |
---|
| 136 | sleep 2 |
---|
| 137 | VERIFYPOSITIVE=" FollowMe" |
---|
| 138 | asterisk_cmd "show channels" || exit 1 |
---|
| 139 | sip_hangup || exit 1 |
---|
| 140 | |
---|
| 141 | |
---|
| 142 | |
---|
| 143 | ####################################### SIP: voip trunk |
---|
| 144 | info "Voip trunk testen" |
---|
| 145 | #extentie 111 draait op de datux centrale en moet meteen opnemen. (staat nu op 'directory service' insgesteld') |
---|
| 146 | sip_call 111 || exit 1 |
---|
| 147 | sip_waitanswer || exit 1 |
---|
| 148 | sip_hangup || exit 1 |
---|
| 149 | |
---|
| 150 | |
---|
| 151 | |
---|
| 152 | |
---|
| 153 | ####################################### SIP: voice menu |
---|
| 154 | info "Voicemenu testen (menu 600 geeft piep en schakeld door naar 100)" |
---|
| 155 | sip_call 600 || exit 1 |
---|
| 156 | sip_waitanswer || exit 1 |
---|
| 157 | sip_answer || exit 1 |
---|
| 158 | sip_hangup || exit 1 |
---|
| 159 | |
---|
| 160 | |
---|
| 161 | |
---|
| 162 | ####################################### SIP: call queue |
---|
| 163 | DESCRIPTION1="niet ingelogd op queue?" |
---|
| 164 | VERIFYPOSITIVE="Agent/105.*(Invalid|has taken no calls yet)" |
---|
| 165 | asterisk_cmd "show queue" || exit 1 |
---|
| 166 | |
---|
| 167 | info "Login op via extentie 1000" |
---|
| 168 | sip_call 1000 || exit 1 |
---|
| 169 | sip_waitanswer || exit 1 |
---|
| 170 | sip_dtmf '105#' || exit 1 |
---|
| 171 | sleep 2 |
---|
| 172 | |
---|
| 173 | DESCRIPTION1="wel ingelogd op queue?" |
---|
| 174 | VERIFYPOSITIVE="Agent/105.*Not in use" |
---|
| 175 | asterisk_cmd "show queue" || exit 1 |
---|
| 176 | |
---|
| 177 | info "Bel naar queue" |
---|
| 178 | sip_call 800 || exit 1 |
---|
| 179 | sip_waitanswer || exit 1 |
---|
| 180 | |
---|
| 181 | DESCRIPTION1="agent is nu busy?" |
---|
| 182 | VERIFYPOSITIVE="Agent/105.*Busy" |
---|
| 183 | asterisk_cmd "show queue" || exit 1 |
---|
| 184 | |
---|
| 185 | makesound |
---|
| 186 | |
---|
| 187 | sip_hangup || exit 1 |
---|
| 188 | |
---|
| 189 | DESCRIPTION1="niet ingelogd op queue?" |
---|
| 190 | VERIFYPOSITIVE="Agent/105.*Unavailable.*last was" |
---|
| 191 | asterisk_cmd "show queue" || exit 1 |
---|
| 192 | |
---|
| 193 | |
---|
| 194 | |
---|
| 195 | ###################################### SIP: meet me |
---|
| 196 | |
---|
| 197 | #asterisk 1.4.23.2 segfault hier op! |
---|
| 198 | #1.4.22.2 doet het wel. |
---|
| 199 | sip_call 500 || exit 1 |
---|
| 200 | sip_waitanswer || exit 1 |
---|
| 201 | sleep 2 |
---|
| 202 | makesound |
---|
| 203 | sip_dtmf '#' || exit 1 |
---|
| 204 | |
---|
| 205 | sip_call 500 || exit 1 |
---|
| 206 | sip_waitanswer || exit 1 |
---|
| 207 | sleep 2 |
---|
| 208 | makesound |
---|
| 209 | sip_dtmf '#' || exit 1 |
---|
| 210 | |
---|
| 211 | info "Conference is now active.." |
---|
| 212 | makesound |
---|
| 213 | |
---|
| 214 | VERIFYPOSITIVE="2 users in that conference" |
---|
| 215 | asterisk_cmd "meetme list 500" |
---|
| 216 | |
---|
| 217 | sip_hangup || exit 1 |
---|
| 218 | |
---|
| 219 | |
---|
| 220 | ####################################### SIP: call transfer en music on hold testen |
---|
| 221 | info "bel 100, en transfer naar 101" |
---|
| 222 | sip_call 100 || exit 1 |
---|
| 223 | sip_answer || exit 1 |
---|
| 224 | sip_transfer 101 || exit 1 |
---|
| 225 | sip_answer || exit 1 |
---|
| 226 | sip_hangup || exit 1 |
---|
| 227 | |
---|
| 228 | info "bel 100, en beantwoord en zet in hold" |
---|
| 229 | sip_call 100 || exit 1 |
---|
| 230 | sip_answer || exit 1 |
---|
| 231 | sip_hold || exit 1 |
---|
| 232 | |
---|
| 233 | sleep 2 |
---|
| 234 | |
---|
| 235 | info "Lijkt de music on hold het te doen?" |
---|
| 236 | CMD="lsof /var/lib/asterisk/moh/*" |
---|
| 237 | VERIFYPOSITIVE="wav" |
---|
| 238 | sshtest || exit 1 |
---|
| 239 | |
---|
| 240 | info "Unhold en hang op" |
---|
| 241 | sip_unhold || exit 1 |
---|
| 242 | sip_hangup || exit 1 |
---|
| 243 | |
---|
| 244 | |
---|
| 245 | ####################################### SIP: ring groups |
---|
| 246 | info "Test ringgroups " |
---|
| 247 | sip_call 700 || exit 1 |
---|
| 248 | VERIFYPOSITIVE="4 active channels" |
---|
| 249 | asterisk_cmd "show channels" || exit 1 |
---|
| 250 | sip_hangup || exit 1 |
---|
| 251 | VERIFYPOSITIVE="0 active channels" |
---|
| 252 | asterisk_cmd "show channels" || exit 1 |
---|
| 253 | |
---|
| 254 | |
---|
| 255 | #laatste fout-controle na alle tests: |
---|
| 256 | asterisk_errorcheck |
---|
| 257 | |
---|
| 258 | |
---|
| 259 | info "Regression test completed successfully" |
---|