mgcp-client: Create alloc() and free() internal APIs for mgcp_client_pool_member

Related: SYS#5987
Change-Id: Ibd2bf976885c777fe944652af6fe6eb0f1820468
diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c
index 748042f..505f3ab 100644
--- a/src/libosmo-mgcp-client/mgcp_client_vty.c
+++ b/src/libosmo-mgcp-client/mgcp_client_vty.c
@@ -345,11 +345,8 @@
 
 	pool_member = mgcp_client_pool_find_member_by_nr(global_mgcp_client_pool, nr);
 	if (!pool_member) {
-		pool_member = talloc_zero(global_mgcp_client_pool, struct mgcp_client_pool_member);
+		pool_member = mgcp_client_pool_member_alloc(global_mgcp_client_pool, nr);
 		OSMO_ASSERT(pool_member);
-		mgcp_client_conf_init(&pool_member->conf);
-		pool_member->nr = nr;
-		llist_add_tail(&pool_member->list, &global_mgcp_client_pool->member_list);
 	}
 
 	vty->index = &pool_member->conf;
@@ -379,12 +376,7 @@
 		return CMD_WARNING;
 	}
 
-	llist_del(&pool_member->list);
-	if (pool_member->client) {
-		mgcp_client_disconnect(pool_member->client);
-		talloc_free(pool_member->client);
-	}
-	talloc_free(pool_member);
+	mgcp_client_pool_member_free(pool_member);
 
 	return CMD_SUCCESS;
 }