|
|
@@ -18,7 +18,7 @@ import (
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
- workdir, sepTeplateFilePath, freepbxConf string
|
|
|
+ workdir, sepTeplateFilePath, freepbxDb string
|
|
|
sepTeplateFile []byte
|
|
|
db *sql.DB
|
|
|
)
|
|
|
@@ -29,32 +29,6 @@ type PhoneSetting struct {
|
|
|
PhoneNumber string
|
|
|
}
|
|
|
|
|
|
-func getDBConnectionParams() (string, error) {
|
|
|
- var con string
|
|
|
- rex := regexp.MustCompile(`\["(.*)"\] = "(.*)";`)
|
|
|
- buf := new(bytes.Buffer)
|
|
|
-
|
|
|
- file, err := os.Open(freepbxConf)
|
|
|
- if err != nil {
|
|
|
- return con, err
|
|
|
- }
|
|
|
- defer file.Close()
|
|
|
-
|
|
|
- buf.ReadFrom(file)
|
|
|
-
|
|
|
- data := rex.FindAllStringSubmatch(buf.String(), -1)
|
|
|
-
|
|
|
- res := make(map[string]string)
|
|
|
- for _, kv := range data {
|
|
|
- k := kv[1]
|
|
|
- v := kv[2]
|
|
|
- res[k] = v
|
|
|
- }
|
|
|
-
|
|
|
- con = fmt.Sprintf("%s:%s@tcp(%s)/%s", res["AMPDBUSER"], res["AMPDBPASS"], res["AMPDBHOST"], res["AMPDBNAME"])
|
|
|
- return con, nil
|
|
|
-}
|
|
|
-
|
|
|
//Getting phone setting from freepbx database
|
|
|
func getPhoneSetting(filename string) (*PhoneSetting, error) {
|
|
|
var ps PhoneSetting
|
|
|
@@ -169,7 +143,7 @@ func readHandler(filename string, rf io.ReaderFrom) error {
|
|
|
func init() {
|
|
|
flag.StringVar(&workdir, "workdir", "/tftpboot", "Set working directory")
|
|
|
flag.StringVar(&sepTeplateFilePath, "sep_template_file", "./sep-cisco.cnf.xml.tpl", "Set path to sep template file")
|
|
|
- flag.StringVar(&freepbxConf, "freepbx_conf", "/etc/freepbx.conf", "Set path to freepbx db connection config file")
|
|
|
+ flag.StringVar(&freepbxDb, "freepbx_db", "asterisk:password@tcp(127.0.0.1)/asterisk", "Set freepbx db connection string")
|
|
|
}
|
|
|
|
|
|
func main() {
|
|
|
@@ -183,16 +157,8 @@ func main() {
|
|
|
os.Exit(1)
|
|
|
}
|
|
|
|
|
|
- //Getting params for db connection
|
|
|
- dbConnParams, err := getDBConnectionParams()
|
|
|
- if err != nil {
|
|
|
- fmt.Fprintf(os.Stderr, "%v\n", err)
|
|
|
- os.Exit(1)
|
|
|
- }
|
|
|
- fmt.Fprintf(os.Stderr, "%v\n", dbConnParams)
|
|
|
-
|
|
|
//Connicting to db
|
|
|
- db, err = sql.Open("mysql", dbConnParams)
|
|
|
+ db, err = sql.Open("mysql", freepbxDb)
|
|
|
if err != nil {
|
|
|
fmt.Fprintf(os.Stderr, "Error on initializing database connection: %s\n", err)
|
|
|
os.Exit(1)
|