diff --git a/bin/build.sh b/bin/build.sh index d5dcad1..367a090 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -2,22 +2,32 @@ deb_build_dir=../debbuild src_pkg_root=../pkg -src_ocs_dir=../../ocs -src_bin_dir=$src_ocs_dir/bin + release_root=../release release_date=`date +%Y%m%d` +src_ocs_dir=../../ocs +ocs_bin_dir=$src_ocs_dir/bin +ocs_bin_file=agtocs + +src_restproxy_root=../../selfcare +src_cproxy_dir=$src_restproxy_root/proxy_c +src_goproxy_dir=$src_restproxy_root/proxy_go +proxy_bin_dir=$src_restproxy_root/bin +cproxy_bin_file=restproxy +goproxy_bin_file=restproxy_go + usage() { - echo "Usage: $0 [ocs|scp|ussdgw] [OPTION] " + echo "Usage: $0 [ocs|scp|ussdgw|cproxy|goproxy] [Option] " echo echo "Build OCS package, option as follow:" echo " ocs|scp|ussdgw, ocs: OCS package build by dpkg" echo " scp: SCP package build by dpkg" - echo " ussdgw: USSD Gateway package, build by rpmbuild" + echo " ussdgw: USSD Gateway package, build by dpkg" echo - echo "OPTION:" - echo " -t [norfolk|cook|pncc|zed] Build binary tag" - echo " -h, --help Display this help and exit" + echo " Option:" + echo " -t [norfolk|cook|pncc|zed] Build binary tag, only for ocs, default is pncc" + echo " -h, --help Display this help and exit" echo exit 1 } @@ -26,7 +36,7 @@ pkg_type="" new_args=() # Traverse all parameters for arg in "$@"; do - if [[ "$arg" == "ocs" || "$arg" == "scp" || "$arg" == "ussdgw" ]]; then + if [[ "$arg" == "ocs" || "$arg" == "scp" || "$arg" == "ussdgw" || "$arg" == "cproxy" || "$arg" == "goproxy" ]]; then pkg_type=$arg else new_args+=("$arg") # Add non pkg_type parameters to a new parameter list @@ -62,6 +72,9 @@ make_ocs_bin() echo -n "make clean ... " make clean 1>/dev/null 2>&1 echo "done" + if [ -z $bin_tag ]; then + bin_tag="pncc" + fi echo -n "make $bin_tag ... " make ${bin_tag} 1>make.log 2>&1 if [ $? -ne 0 ]; then @@ -73,6 +86,40 @@ make_ocs_bin() cd $OLDPWD } +make_cproxy_bin() +{ + cd $src_cproxy_dir + echo -n "make clean ... " + make clean 1>/dev/null 2>&1 + echo "done" + echo -n "make c restproxy ... " + make 1>make.log 2>&1 + if [ $? -ne 0 ]; then + echo "failed" + echo "Please refer to make.log for details" + exit 1 + fi + echo "done" + cd $OLDPWD +} + +make_goproxy_bin() +{ + cd $src_goproxy_dir + echo -n "make clean ... " + make clean 1>/dev/null 2>&1 + echo "done" + echo -n "make golang restproxy ... " + make build 1>make.log 2>&1 + if [ $? -ne 0 ]; then + echo "failed" + echo "Please refer to make.log for details" + exit 1 + fi + echo "done" + cd $OLDPWD +} + pre_common_build() { test -d $deb_build_dir || mkdir -p $deb_build_dir @@ -91,6 +138,9 @@ pre_ocs_build() mkdir -p $deb_build_dir/usr/local/ocs/tools mkdir -p $deb_build_dir/lib/systemd/system mkdir -p $deb_build_dir/usr/local/agt/etc/tariff + + release_dir=$release_root/ocs/amd64 + mkdir -p $release_dir } pre_scp_build() @@ -101,6 +151,9 @@ pre_scp_build() mkdir -p $deb_build_dir/usr/local/scp/log mkdir -p $deb_build_dir/usr/local/scp/tools mkdir -p $deb_build_dir/lib/systemd/system + + release_dir=$release_root/scp/amd64 + mkdir -p $release_dir } pre_ussdgw_build() @@ -111,6 +164,33 @@ pre_ussdgw_build() mkdir -p $deb_build_dir/usr/local/ussdgw/log mkdir -p $deb_build_dir/usr/local/ussdgw/tools mkdir -p $deb_build_dir/lib/systemd/system + + release_dir=$release_root/ussdgw/amd64 + mkdir -p $release_dir +} + +pre_cproxy_build() +{ + mkdir -p $deb_build_dir/usr/local/subsManage + mkdir -p $deb_build_dir/usr/local/backup + mkdir -p $deb_build_dir/usr/local/restproxy/bin/conf/default + mkdir -p $deb_build_dir/usr/local/restproxy/log + mkdir -p $deb_build_dir/lib/systemd/system + + release_dir=$release_root/cproxy/amd64 + mkdir -p $release_dir +} + +pre_goproxy_build() +{ + mkdir -p $deb_build_dir/usr/local/subsManage + mkdir -p $deb_build_dir/usr/local/backup + mkdir -p $deb_build_dir/usr/local/restproxy/bin/conf/default + mkdir -p $deb_build_dir/usr/local/restproxy/log + mkdir -p $deb_build_dir/lib/systemd/system + + release_dir=$release_root/goproxy/amd64 + mkdir -p $release_dir } case $pkg_type in @@ -119,9 +199,9 @@ case $pkg_type in pre_ocs_build make_ocs_bin src_pkg_dir=$src_pkg_root/ocs - release_dir=$release_root/ocs/amd64 + - cp $src_bin_dir/agtocs $deb_build_dir/usr/local/ocs/bin/ocs + cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/ocs/bin/ocs cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/ocs/bin/conf/default cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/ocs/tools cp $src_pkg_dir/systemd/ocs.service $deb_build_dir/lib/systemd/system @@ -138,10 +218,8 @@ case $pkg_type in pre_scp_build make_ocs_bin src_pkg_dir=$src_pkg_root/scp - release_dir=$release_root/scp/amd64 - deb_file_name=scp-r2409.6-${release_date}-ub22.deb - cp $src_bin_dir/agtocs $deb_build_dir/usr/local/scp/bin/scp + cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/scp/bin/scp cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/scp/bin/conf/default cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/scp/tools cp $src_pkg_dir/systemd/scp.service $deb_build_dir/lib/systemd/system @@ -158,10 +236,8 @@ case $pkg_type in pre_ussdgw_build make_ocs_bin src_pkg_dir=$src_pkg_root/ussdgw - release_dir=$release_root/ussdgw/amd64 - deb_file_name=ussdgw-r2501.22-${release_date}-ub22.deb - cp $src_bin_dir/agtocs $deb_build_dir/usr/local/ussdgw/bin/ussdgw + cp $ocs_bin_dir/$ocs_bin_file $deb_build_dir/usr/local/ussdgw/bin/ussdgw cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/ussdgw/bin/conf/default cp -rf $src_pkg_root/tools/* $deb_build_dir/usr/local/ussdgw/tools cp $src_pkg_dir/systemd/ussdgw.service $deb_build_dir/lib/systemd/system @@ -172,7 +248,41 @@ case $pkg_type in deb_file_name=ocs-r${release_ver}-ub22.deb fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name - ;; + ;; + cproxy) + pre_common_build + pre_cproxy_build + make_cproxy_bin + src_pkg_dir=$src_pkg_root/cproxy + + cp $proxy_bin_dir/$cproxy_bin_file $deb_build_dir/usr/local/restproxy/bin/restproxy + cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/restproxy/bin/conf/default + cp $src_pkg_dir/systemd/restproxy.service $deb_build_dir/lib/systemd/system + + cp $src_pkg_dir/DEBIAN/* $deb_build_dir/DEBIAN + sed -i "s/YYYYMMDD/${release_date}/g" $deb_build_dir/DEBIAN/control + release_ver=$(grep '^Version:' ${deb_build_dir}/DEBIAN/control | awk '{print $2}') + deb_file_name=restproxy-r${release_ver}-ub22.deb + + fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name + ;; + goproxy) + pre_common_build + pre_goproxy_build + make_goproxy_bin + src_pkg_dir=$src_pkg_root/goproxy + + cp $proxy_bin_dir/$goproxy_bin_file $deb_build_dir/usr/local/restproxy/bin/restproxy + cp -rf $src_pkg_dir/conf/* $deb_build_dir/usr/local/restproxy/bin/conf/default + cp $src_pkg_dir/systemd/restproxy.service $deb_build_dir/lib/systemd/system + + cp $src_pkg_dir/DEBIAN/* $deb_build_dir/DEBIAN + sed -i "s/YYYYMMDD/${release_date}/g" $deb_build_dir/DEBIAN/control + release_ver=$(grep '^Version:' ${deb_build_dir}/DEBIAN/control | awk '{print $2}') + deb_file_name=restproxy-r${release_ver}-ub22.deb + + fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name + ;; *) usage ;; diff --git a/pkg/cproxy/DEBIAN/control b/pkg/cproxy/DEBIAN/control new file mode 100755 index 0000000..5d49afa --- /dev/null +++ b/pkg/cproxy/DEBIAN/control @@ -0,0 +1,10 @@ +Package: restproxy +Version: 2403.1-YYYYMMDD +Section: net +Priority: optional +Architecture: amd64 +Essential: no +Depends: +Conflicts: restproxy +Maintainer: 4GC +Description: 4GC REST Proxy Software diff --git a/pkg/cproxy/DEBIAN/postinst b/pkg/cproxy/DEBIAN/postinst new file mode 100755 index 0000000..019b045 --- /dev/null +++ b/pkg/cproxy/DEBIAN/postinst @@ -0,0 +1,7 @@ +#!/bin/bash + +test ! -f /usr/local/restproxy/conf/rest_proxy.conf && cp -rf /usr/local/restproxy/conf/default/* /usr/local/restproxy/conf + +systemctl enable restproxy + +exit 0 diff --git a/pkg/cproxy/DEBIAN/prerm b/pkg/cproxy/DEBIAN/prerm new file mode 100755 index 0000000..dee261e --- /dev/null +++ b/pkg/cproxy/DEBIAN/prerm @@ -0,0 +1,6 @@ +#!/bin/bash + +# Commands to be run before uninstall of the package + +systemctl disable restproxy + diff --git a/pkg/cproxy/conf/db_adapotr.cfg b/pkg/cproxy/conf/db_adapotr.cfg new file mode 100644 index 0000000..8884ab7 --- /dev/null +++ b/pkg/cproxy/conf/db_adapotr.cfg @@ -0,0 +1,26 @@ +[db0] +enable=on +role=master +host_ip=192.168.1.211 +host_port=3306 +db_name=boss +client_name=root +client_pwd=123456 + +[db1] +enable=on +role=slave +host_ip=192.168.1.211 +host_port=3306 +db_name=boss +client_name=root +client_pwd=123456 + +[db2] +enable=on +role=slave +host_ip=192.168.1.211 +host_port=3306 +db_name=boss +client_name=root +client_pwd=123456 diff --git a/pkg/cproxy/conf/dstn_entry.cfg b/pkg/cproxy/conf/dstn_entry.cfg new file mode 100644 index 0000000..2edeafb --- /dev/null +++ b/pkg/cproxy/conf/dstn_entry.cfg @@ -0,0 +1 @@ +20 \ No newline at end of file diff --git a/pkg/cproxy/conf/pstn_client.cfg b/pkg/cproxy/conf/pstn_client.cfg new file mode 100644 index 0000000..4d0a494 --- /dev/null +++ b/pkg/cproxy/conf/pstn_client.cfg @@ -0,0 +1,43 @@ +[server] +local_ip=192.168.1.229 +local_port=4901 +pstn_ip=192.168.1.231 +pstn_port=22 +user_name=altouser +password=a1t0U53r +[MSAN-0] +ip=10.10.1.214 +port=23 +user_name=manager +password=ntms@n +[MSAN-1] +ip=10.10.1.215 +port=23 +user_name=manager +password=ntms@n +[Pairs-Slot] +#PairGrou,MASN,Slot +0,1,1 +1,1,2 +2,1,3 +3,1,4 +4,1,5 +5,1,6 +6,1,7 +7,1,8 +8,1,9 +9,1,10 +10,1,14 +11,1,15 +12,2,1 +13,2,2 +14,2,3 +15,2,4 +16,2,5 +17,2,6 +18,2,7 +19,2,8 +20,2,9 +21,2,10 +22,2,14 +23,2,15 diff --git a/pkg/cproxy/conf/rest_proxy.conf b/pkg/cproxy/conf/rest_proxy.conf new file mode 100755 index 0000000..2df9b43 --- /dev/null +++ b/pkg/cproxy/conf/rest_proxy.conf @@ -0,0 +1,22 @@ +#rest proxy local ip and port as server +localIPPort=10.60.1.152:4951 + +#restfull query ip&port +queryIPPort=10.60.1.38:8080 +#restfull vourcher recharge ip&port +rechargeIPPort=10.60.1.37:9000 + +#user/passwrd +username=external +password=password + +subsystem=Selfcare +customerIP=10.60.1.37 +url_walletbalance=/rest-services/%s/xxx +url_rechargevoucher=/rest-services/%s/yyy +#test MSISDN +test_msisdn=6924546778 +#test_msisdn=77922417981167 +test_pin=63555825498329 + +log=./log/log diff --git a/pkg/cproxy/conf/selfcare_proxy.conf b/pkg/cproxy/conf/selfcare_proxy.conf new file mode 100644 index 0000000..773e3ab --- /dev/null +++ b/pkg/cproxy/conf/selfcare_proxy.conf @@ -0,0 +1,39 @@ +udp_localIPPort=192.168.1.229:4900 +udp_ocsIPPort=192.168.1.229:4951 +http_localPort=8080 +#authcode url +authcode_url=/authcode +#query_userdata url +query_userdata_url=/query_userdata +#bundle_subs url +bundle_subs_url=/bundle_subs +#bundle_usage url +bundle_usage_url=/bundle_usage +#recharge url +recharge_url=/recharge +#transfer url +transfer_url=/transfer +#recharge_card url +recharge_card_url=/recharge_card +#check_balance url +check_balance_url=/check_balance +#query_balane url +query_balane_url=/query_balane +#open acount url +create_account_url=/openPackage +#update acount url +update_subs_url=/updateSubs +#delete acount url +delete_subs_url=/deleteSubs +#errcodes and their meanings +errcode_map_message=[2001,success] +errcode_map_message=[3001,command unsupported] +errcode_map_message=[3010,unknown peer] +errcode_map_message=[4001,invalid user status] +errcode_map_message=[4008,dest user not allowed] +errcode_map_message=[4012,credit limit] +errcode_map_message=[5004,invalid parameter value] +errcode_map_message=[5005,missing parameter] +errcode_map_message=[5006,invalid recharge password] +errcode_map_message=[5012,unable to comply] +errcode_map_message=[5030,user unknown] diff --git a/pkg/cproxy/conf/smcli_client.cfg b/pkg/cproxy/conf/smcli_client.cfg new file mode 100644 index 0000000..189912a --- /dev/null +++ b/pkg/cproxy/conf/smcli_client.cfg @@ -0,0 +1,15 @@ +[EMS] +ems0_ip=192.168.1.141 +ems0_port=4999 +user_name=manager +password=manager +connect_hss=connect hlr -srvip 192.168.1.219 -passwd 123456 +connect_auc=connect auc -srvip 192.168.1.219 -passwd 123456 + +[HSS] + +[AUC] + +[VMS] +[Provision] +enable diff --git a/pkg/cproxy/systemd/restproxy.service b/pkg/cproxy/systemd/restproxy.service new file mode 100755 index 0000000..62e220e --- /dev/null +++ b/pkg/cproxy/systemd/restproxy.service @@ -0,0 +1,11 @@ +[Service] +Type=idle +WorkingDirectory=/usr/local/restproxy +ExecStart=/usr/local/restproxy/restproxy -r 1 > /dev/null 2>&1 & +Restart=always +RestartSec=3 +StandardOutput=null + +[Install] +WantedBy=multi-user.target + diff --git a/pkg/goproxy/DEBIAN/control b/pkg/goproxy/DEBIAN/control new file mode 100755 index 0000000..5d49afa --- /dev/null +++ b/pkg/goproxy/DEBIAN/control @@ -0,0 +1,10 @@ +Package: restproxy +Version: 2403.1-YYYYMMDD +Section: net +Priority: optional +Architecture: amd64 +Essential: no +Depends: +Conflicts: restproxy +Maintainer: 4GC +Description: 4GC REST Proxy Software diff --git a/pkg/goproxy/DEBIAN/postinst b/pkg/goproxy/DEBIAN/postinst new file mode 100755 index 0000000..019b045 --- /dev/null +++ b/pkg/goproxy/DEBIAN/postinst @@ -0,0 +1,7 @@ +#!/bin/bash + +test ! -f /usr/local/restproxy/conf/rest_proxy.conf && cp -rf /usr/local/restproxy/conf/default/* /usr/local/restproxy/conf + +systemctl enable restproxy + +exit 0 diff --git a/pkg/goproxy/DEBIAN/prerm b/pkg/goproxy/DEBIAN/prerm new file mode 100755 index 0000000..dee261e --- /dev/null +++ b/pkg/goproxy/DEBIAN/prerm @@ -0,0 +1,6 @@ +#!/bin/bash + +# Commands to be run before uninstall of the package + +systemctl disable restproxy + diff --git a/pkg/goproxy/conf/config.yaml b/pkg/goproxy/conf/config.yaml new file mode 100644 index 0000000..f32ced2 --- /dev/null +++ b/pkg/goproxy/conf/config.yaml @@ -0,0 +1,38 @@ +log: + level: info +mysqlDb: + addr: 192.168.1.211:3306 + username: boss + password: mysqlboss +redisDb: + netType: unix + addr: /var/run/kvdb.sock + ##sentinelAddrs: + ## - 192.168.7.90:26379 + ## - 192.168.4.61:26379 +telnetServer: + addr: 192.168.7.90:4100 +rest: + enabled: true + httpAddr: 192.168.7.90:8080 + emsAddr: 192.168.7.92:4999 + locRzIp: 192.168.7.90 + locRzPort: 4900 + ocsRzIp: 192.168.7.90 + ocsRzPort: 4951 + enableNotification: true +canalServer: + enabled: true + addr: 192.168.1.211:3306 + username: canal + password: canal + reinit: false + flushBeforeInit: true + standalone: true +cronCfg: + enabled: true + clrExp: '0 20 5 1,11,21 * ?' + ntfSms: '*/3 * * * * ?' +provision: + enabled: true + ssEntryIdInCrm: 1049 \ No newline at end of file diff --git a/pkg/goproxy/systemd/restproxy.service b/pkg/goproxy/systemd/restproxy.service new file mode 100755 index 0000000..62e220e --- /dev/null +++ b/pkg/goproxy/systemd/restproxy.service @@ -0,0 +1,11 @@ +[Service] +Type=idle +WorkingDirectory=/usr/local/restproxy +ExecStart=/usr/local/restproxy/restproxy -r 1 > /dev/null 2>&1 & +Restart=always +RestartSec=3 +StandardOutput=null + +[Install] +WantedBy=multi-user.target +