25.sh 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. #!/bin/bash
  2. # loads a userblacklist config from mysql database and test some lists
  3. # Copyright (C) 2007 1&1 Internet AG
  4. #
  5. # This file is part of Kamailio, a free SIP server.
  6. #
  7. # Kamailio is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version
  11. #
  12. # Kamailio is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program; if not, write to the Free Software
  19. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  20. . include/common
  21. . include/require.sh
  22. . include/database.sh
  23. cleanup() {
  24. killall -9 sipp > /dev/null 2>&1
  25. kill_kamailio
  26. $MYSQL "delete from location where (user_agent = \"kamailio_test\");"
  27. $MYSQL "delete from userblacklist where username='49721123456786';"
  28. $MYSQL "delete from userblacklist where username='49721123456788';"
  29. $MYSQL "delete from userblacklist where username='49721123456789';"
  30. $MYSQL "delete from userblacklist where username='494675231';"
  31. $MYSQL "delete from userblacklist where username='494675453';"
  32. $MYSQL "delete from userblacklist where username='494675454';"
  33. $MYSQL "delete from userblacklist where username='user4946';"
  34. $MYSQL "delete from globalblacklist where description='_test_';"
  35. exit $1;
  36. }
  37. if ! (check_sipp && check_kamailio && check_module "db_mysql" && check_mysql); then
  38. exit 0
  39. fi ;
  40. CFG=25.cfg
  41. # add an registrar entry to the db;
  42. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-aa\",\"49721123456789\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  43. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-bb\",\"49721123456788\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  44. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-cc\",\"49721123456787\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  45. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-dd\",\"49721123456786\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  46. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-ee\",\"49721123456785\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  47. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-ff\",\"49721123456784\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  48. $MYSQL "insert into location (ruid,username,contact,socket,user_agent,cseq,q) values (\"ul-ruid-gg\",\"user4946\",\"sip:[email protected]\",\"udp:127.0.0.1:5060\",\"kamailio_test\",1,-1);"
  49. # setup userblacklist, first some dummy data
  50. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('494675454','','49900','0');"
  51. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('494675453','test.domain','49901','0');"
  52. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('494675231','test','499034132','0');"
  53. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('494675231','','499034133','1');"
  54. # some actual data
  55. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('49721123456789','','12345','0');"
  56. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('49721123456788','','123456788','1');"
  57. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('49721123456788','','1234','0');"
  58. # and the global ones
  59. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('123456787','0','_test_');"
  60. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('123456','0','_test_');"
  61. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('1','1','_test_');"
  62. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('','0','_test_');"
  63. $BIN -L $MOD_DIR -Y $RUN_DIR -P $PIDFILE -w . -f $CFG > /dev/null 2>&1
  64. sleep 1
  65. sipp -sn uas -bg -i 127.0.0.1 -p 5060 #&> /dev/null
  66. sipp -sn uac -s 49721123456789 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  67. ret=$?
  68. if [ "$ret" -ne 1 ] ; then
  69. cleanup 1
  70. fi;
  71. sipp -sn uac -s 49721123456788 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  72. ret=$?
  73. if [ "$ret" -ne 1 ] ; then
  74. cleanup 1
  75. fi;
  76. sipp -sn uac -s 49721123456787 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  77. ret=$?
  78. if [ "$ret" -ne 1 ] ; then
  79. cleanup 1
  80. fi;
  81. sipp -sn uac -s 49721123456786 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  82. ret=$?
  83. if [ "$ret" -ne 1 ] ; then
  84. cleanup 1
  85. fi;
  86. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('123456786','1','_test_');"
  87. $CTL mi reload_blacklist
  88. sipp -sn uac -s 49721123456786 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  89. ret=$?
  90. if [ "$ret" -ne 0 ] ; then
  91. cleanup 1
  92. fi;
  93. $MYSQL "insert into userblacklist (username, domain, prefix, whitelist) values ('49721123456786','','12345','0');"
  94. sipp -sn uac -s 49721123456786 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  95. ret=$?
  96. if [ "$ret" -ne 1 ] ; then
  97. cleanup 1
  98. fi;
  99. sipp -sn uac -s 49721123456785 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  100. ret=$?
  101. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('2','1','_test_');"
  102. $CTL mi reload_blacklist
  103. sipp -sn uac -s 49721123456785 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  104. ret=$?
  105. if [ "$ret" -ne 0 ] ; then
  106. cleanup 1
  107. fi;
  108. $MYSQL "insert into globalblacklist (prefix, whitelist, description) values ('user4946','0','_test_');"
  109. sipp -sn uac -s user4946 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  110. ret=$?
  111. if [ "$ret" -ne 1 ] ; then
  112. cleanup 1
  113. fi;
  114. sipp -sn uac -s 49721123456784 127.0.0.1:5059 -i 127.0.0.1 -m 1 -f 2 -p 5061 &> /dev/null
  115. ret=$?
  116. sleep 1
  117. # cleanup:
  118. cleanup $ret