From 8a1706bf754f2cb3c4a8539ef05bddd5e74a8953 Mon Sep 17 00:00:00 2001 From: DanB Date: Sun, 11 Oct 2015 10:21:44 +0200 Subject: [PATCH] Completing rpc methods of uac module --- kamjsonrpc.go | 33 ++++++++++++++++++++++++++++++++- kamjsonrpc_local_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/kamjsonrpc.go b/kamjsonrpc.go index a7b3766..23652c9 100644 --- a/kamjsonrpc.go +++ b/kamjsonrpc.go @@ -18,6 +18,10 @@ import ( "sync" ) +const ( + OK = "OK" +) + type KamJsonRpcRequest struct { Jsonrpc string `json:"jsonrpc"` Method string `json:"method"` @@ -98,12 +102,39 @@ func (self *KamailioJsonRpc) Call(serviceMethod string, args interface{}, reply // Add inidividual methods over the generic one +func (self *KamailioJsonRpc) UacRegEnable(params []string, reply *string) error { + var regRaw json.RawMessage + if err := self.Call("uac.reg_enable", params, ®Raw); err != nil { + return err + } + *reply = OK + return nil +} + +func (self *KamailioJsonRpc) UacRegDisable(params []string, reply *string) error { + var regRaw json.RawMessage + if err := self.Call("uac.reg_disable", params, ®Raw); err != nil { + return err + } + *reply = OK + return nil +} + func (self *KamailioJsonRpc) UacRegReload(params []string, reply *string) error { var regRaw json.RawMessage if err := self.Call("uac.reg_reload", params, ®Raw); err != nil { return err } - *reply = "OK" + *reply = OK + return nil +} + +func (self *KamailioJsonRpc) UacRegRefresh(params []string, reply *string) error { + var regRaw json.RawMessage + if err := self.Call("uac.reg_refresh", params, ®Raw); err != nil { + return err + } + *reply = OK return nil } diff --git a/kamjsonrpc_local_test.go b/kamjsonrpc_local_test.go index 87d331b..15a714e 100644 --- a/kamjsonrpc_local_test.go +++ b/kamjsonrpc_local_test.go @@ -34,6 +34,32 @@ func TestKamJsonRpcCall(t *testing.T) { } } +func TestKamJsonRpcUacRegEnable(t *testing.T) { + if !*testLocal { + return + } + eReply := "OK" + var reply string + if err := kamRpc.UacRegEnable([]string{"l_uuid", "unknown"}, &reply); err != nil { + t.Error(err) + } else if eReply != reply { + t.Errorf("Expecting: %s, received: %s", eReply, reply) + } +} + +func TestKamJsonRpcUacRegDisable(t *testing.T) { + if !*testLocal { + return + } + eReply := "OK" + var reply string + if err := kamRpc.UacRegDisable([]string{"l_uuid", "unknown"}, &reply); err != nil { + t.Error(err) + } else if eReply != reply { + t.Errorf("Expecting: %s, received: %s", eReply, reply) + } +} + func TestKamJsonRpcUacRegReload(t *testing.T) { if !*testLocal { return @@ -47,6 +73,19 @@ func TestKamJsonRpcUacRegReload(t *testing.T) { } } +func TestKamJsonRpcUacRegRefresh(t *testing.T) { + if !*testLocal { + return + } + eReply := "OK" + var reply string + if err := kamRpc.UacRegRefresh([]string{"l_uuid", "unknown"}, &reply); err != nil { + t.Error(err) + } else if eReply != reply { + t.Errorf("Expecting: %s, received: %s", eReply, reply) + } +} + func TestKamJsonRpcUacRegInfo(t *testing.T) { if !*testLocal { return