Browse Source

kamctl: added mongodb schema files

- custom json format specifying structure of collections/tables
- version-create.mongo - a script with mongo commands to fill the
  version collection/table
Daniel-Constantin Mierla 10 years ago
parent
commit
d9ae9badb2
68 changed files with 3160 additions and 0 deletions
  1. 46 0
      utils/kamctl/mongodb/kamailio/acc.json
  2. 26 0
      utils/kamctl/mongodb/kamailio/acc_cdrs.json
  3. 131 0
      utils/kamctl/mongodb/kamailio/active_watchers.json
  4. 36 0
      utils/kamctl/mongodb/kamailio/address.json
  5. 121 0
      utils/kamctl/mongodb/kamailio/aliases.json
  6. 16 0
      utils/kamctl/mongodb/kamailio/carrier_name.json
  7. 56 0
      utils/kamctl/mongodb/kamailio/carrierfailureroute.json
  8. 66 0
      utils/kamctl/mongodb/kamailio/carrierroute.json
  9. 31 0
      utils/kamctl/mongodb/kamailio/cpl.json
  10. 31 0
      utils/kamctl/mongodb/kamailio/dbaliases.json
  11. 126 0
      utils/kamctl/mongodb/kamailio/dialog.json
  12. 31 0
      utils/kamctl/mongodb/kamailio/dialog_vars.json
  13. 51 0
      utils/kamctl/mongodb/kamailio/dialplan.json
  14. 41 0
      utils/kamctl/mongodb/kamailio/dispatcher.json
  15. 26 0
      utils/kamctl/mongodb/kamailio/domain.json
  16. 36 0
      utils/kamctl/mongodb/kamailio/domain_attrs.json
  17. 16 0
      utils/kamctl/mongodb/kamailio/domain_name.json
  18. 36 0
      utils/kamctl/mongodb/kamailio/domainpolicy.json
  19. 41 0
      utils/kamctl/mongodb/kamailio/dr_gateways.json
  20. 31 0
      utils/kamctl/mongodb/kamailio/dr_groups.json
  21. 21 0
      utils/kamctl/mongodb/kamailio/dr_gw_lists.json
  22. 46 0
      utils/kamctl/mongodb/kamailio/dr_rules.json
  23. 26 0
      utils/kamctl/mongodb/kamailio/globalblacklist.json
  24. 31 0
      utils/kamctl/mongodb/kamailio/grp.json
  25. 36 0
      utils/kamctl/mongodb/kamailio/htable.json
  26. 31 0
      utils/kamctl/mongodb/kamailio/imc_members.json
  27. 26 0
      utils/kamctl/mongodb/kamailio/imc_rooms.json
  28. 76 0
      utils/kamctl/mongodb/kamailio/lcr_gw.json
  29. 41 0
      utils/kamctl/mongodb/kamailio/lcr_rule.json
  30. 36 0
      utils/kamctl/mongodb/kamailio/lcr_rule_target.json
  31. 121 0
      utils/kamctl/mongodb/kamailio/location.json
  32. 46 0
      utils/kamctl/mongodb/kamailio/location_attrs.json
  33. 21 0
      utils/kamctl/mongodb/kamailio/matrix.json
  34. 46 0
      utils/kamctl/mongodb/kamailio/missed_calls.json
  35. 41 0
      utils/kamctl/mongodb/kamailio/mohqcalls.json
  36. 36 0
      utils/kamctl/mongodb/kamailio/mohqueues.json
  37. 21 0
      utils/kamctl/mongodb/kamailio/mtree.json
  38. 26 0
      utils/kamctl/mongodb/kamailio/mtrees.json
  39. 26 0
      utils/kamctl/mongodb/kamailio/pdt.json
  40. 26 0
      utils/kamctl/mongodb/kamailio/pl_pipes.json
  41. 56 0
      utils/kamctl/mongodb/kamailio/presentity.json
  42. 101 0
      utils/kamctl/mongodb/kamailio/pua.json
  43. 31 0
      utils/kamctl/mongodb/kamailio/purplemap.json
  44. 21 0
      utils/kamctl/mongodb/kamailio/re_grp.json
  45. 51 0
      utils/kamctl/mongodb/kamailio/rls_presentity.json
  46. 126 0
      utils/kamctl/mongodb/kamailio/rls_watchers.json
  47. 36 0
      utils/kamctl/mongodb/kamailio/rtpproxy.json
  48. 71 0
      utils/kamctl/mongodb/kamailio/sca_subscriptions.json
  49. 71 0
      utils/kamctl/mongodb/kamailio/silo.json
  50. 71 0
      utils/kamctl/mongodb/kamailio/sip_trace.json
  51. 51 0
      utils/kamctl/mongodb/kamailio/speed_dial.json
  52. 46 0
      utils/kamctl/mongodb/kamailio/subscriber.json
  53. 41 0
      utils/kamctl/mongodb/kamailio/trusted.json
  54. 61 0
      utils/kamctl/mongodb/kamailio/uacreg.json
  55. 51 0
      utils/kamctl/mongodb/kamailio/uid_credentials.json
  56. 26 0
      utils/kamctl/mongodb/kamailio/uid_domain.json
  57. 36 0
      utils/kamctl/mongodb/kamailio/uid_domain_attrs.json
  58. 31 0
      utils/kamctl/mongodb/kamailio/uid_global_attrs.json
  59. 36 0
      utils/kamctl/mongodb/kamailio/uid_uri.json
  60. 46 0
      utils/kamctl/mongodb/kamailio/uid_uri_attrs.json
  61. 36 0
      utils/kamctl/mongodb/kamailio/uid_user_attrs.json
  62. 31 0
      utils/kamctl/mongodb/kamailio/uri.json
  63. 31 0
      utils/kamctl/mongodb/kamailio/userblacklist.json
  64. 46 0
      utils/kamctl/mongodb/kamailio/usr_preferences.json
  65. 68 0
      utils/kamctl/mongodb/kamailio/version-create.mongo
  66. 16 0
      utils/kamctl/mongodb/kamailio/version.json
  67. 46 0
      utils/kamctl/mongodb/kamailio/watchers.json
  68. 51 0
      utils/kamctl/mongodb/kamailio/xcap.json

+ 46 - 0
utils/kamctl/mongodb/kamailio/acc.json

@@ -0,0 +1,46 @@
+{
+  "name": "acc",
+  "version": 5,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "method": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "to_tag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sip_code": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sip_reason": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "time": {
+      "type": "datetime",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/acc_cdrs.json

@@ -0,0 +1,26 @@
+{
+  "name": "acc_cdrs",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "start_time": {
+      "type": "datetime",
+      "default": "2000-01-01 00:00:00",
+      "null": false
+    },
+    "end_time": {
+      "type": "datetime",
+      "default": "2000-01-01 00:00:00",
+      "null": false
+    },
+    "duration": {
+      "type": "double",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 131 - 0
utils/kamctl/mongodb/kamailio/active_watchers.json

@@ -0,0 +1,131 @@
+{
+  "name": "active_watchers",
+  "version": 11,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "presentity_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "string",
+      "default": "presence",
+      "null": false
+    },
+    "event_id": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "to_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "local_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "remote_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "record_route": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "status": {
+      "type": "int",
+      "default": 2,
+      "null": false
+    },
+    "reason": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "version": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "socket_info": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "local_contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "updated": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "updated_winfo": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/address.json

@@ -0,0 +1,36 @@
+{
+  "name": "address",
+  "version": 6,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "grp": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    },
+    "ip_addr": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "mask": {
+      "type": "int",
+      "default": 32,
+      "null": false
+    },
+    "port": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "tag": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 121 - 0
utils/kamctl/mongodb/kamailio/aliases.json

@@ -0,0 +1,121 @@
+{
+  "name": "aliases",
+  "version": 8,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "ruid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "contact": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "received": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "path": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "expires": {
+      "type": "datetime",
+      "default": "2030-05-28 21:32:15",
+      "null": false
+    },
+    "q": {
+      "type": "double",
+      "default": 1.0,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": "Default-Call-ID",
+      "null": false
+    },
+    "cseq": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "cflags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "user_agent": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "socket": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "methods": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "instance": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "reg_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "server_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "connection_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "keepalive": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "partition": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 16 - 0
utils/kamctl/mongodb/kamailio/carrier_name.json

@@ -0,0 +1,16 @@
+{
+  "name": "carrier_name",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "carrier": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 56 - 0
utils/kamctl/mongodb/kamailio/carrierfailureroute.json

@@ -0,0 +1,56 @@
+{
+  "name": "carrierfailureroute",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "carrier": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "domain": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "scan_prefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "host_name": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "reply_code": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "mask": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "next_domain": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 66 - 0
utils/kamctl/mongodb/kamailio/carrierroute.json

@@ -0,0 +1,66 @@
+{
+  "name": "carrierroute",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "carrier": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "domain": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "scan_prefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "mask": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "prob": {
+      "type": "double",
+      "default": 0,
+      "null": false
+    },
+    "strip": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "rewrite_host": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "rewrite_prefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "rewrite_suffix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/cpl.json

@@ -0,0 +1,31 @@
+{
+  "name": "cpl",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "cpl_xml": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "cpl_bin": {
+      "type": "text",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/dbaliases.json

@@ -0,0 +1,31 @@
+{
+  "name": "dbaliases",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "alias_username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "alias_domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 126 - 0
utils/kamctl/mongodb/kamailio/dialog.json

@@ -0,0 +1,126 @@
+{
+  "name": "dialog",
+  "version": 7,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "hash_entry": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "hash_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "caller_cseq": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "callee_cseq": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "caller_route_set": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "callee_route_set": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "caller_contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "callee_contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "caller_sock": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "callee_sock": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "state": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "start_time": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "timeout": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "sflags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "iflags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "toroute_name": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "req_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "xdata": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/dialog_vars.json

@@ -0,0 +1,31 @@
+{
+  "name": "dialog_vars",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "hash_entry": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "hash_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "dialog_key": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "dialog_value": {
+      "type": "string",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 51 - 0
utils/kamctl/mongodb/kamailio/dialplan.json

@@ -0,0 +1,51 @@
+{
+  "name": "dialplan",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "dpid": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "pr": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "match_op": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "match_exp": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "match_len": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "subst_exp": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "repl_exp": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "attrs": {
+      "type": "string",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 41 - 0
utils/kamctl/mongodb/kamailio/dispatcher.json

@@ -0,0 +1,41 @@
+{
+  "name": "dispatcher",
+  "version": 4,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "setid": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "destination": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "priority": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "attrs": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/domain.json

@@ -0,0 +1,26 @@
+{
+  "name": "domain",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/domain_attrs.json

@@ -0,0 +1,36 @@
+{
+  "name": "domain_attrs",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "type": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 16 - 0
utils/kamctl/mongodb/kamailio/domain_name.json

@@ -0,0 +1,16 @@
+{
+  "name": "domain_name",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/domainpolicy.json

@@ -0,0 +1,36 @@
+{
+  "name": "domainpolicy",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "rule": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "type": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "att": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "val": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "description": {
+      "type": "string",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 41 - 0
utils/kamctl/mongodb/kamailio/dr_gateways.json

@@ -0,0 +1,41 @@
+{
+  "name": "dr_gateways",
+  "version": 3,
+  "columns": [
+    "gwid": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "address": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "strip": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "pri_prefix": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "attrs": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/dr_groups.json

@@ -0,0 +1,31 @@
+{
+  "name": "dr_groups",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "groupid": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 21 - 0
utils/kamctl/mongodb/kamailio/dr_gw_lists.json

@@ -0,0 +1,21 @@
+{
+  "name": "dr_gw_lists",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "gwlist": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/dr_rules.json

@@ -0,0 +1,46 @@
+{
+  "name": "dr_rules",
+  "version": 3,
+  "columns": [
+    "ruleid": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "groupid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "prefix": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "timerec": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "priority": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "routeid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "gwlist": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/globalblacklist.json

@@ -0,0 +1,26 @@
+{
+  "name": "globalblacklist",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "prefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "whitelist": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/grp.json

@@ -0,0 +1,31 @@
+{
+  "name": "grp",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "grp": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/htable.json

@@ -0,0 +1,36 @@
+{
+  "name": "htable",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "key_name": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "key_type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "value_type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "key_value": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/imc_members.json

@@ -0,0 +1,31 @@
+{
+  "name": "imc_members",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "room": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "flag": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/imc_rooms.json

@@ -0,0 +1,26 @@
+{
+  "name": "imc_rooms",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "flag": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 76 - 0
utils/kamctl/mongodb/kamailio/lcr_gw.json

@@ -0,0 +1,76 @@
+{
+  "name": "lcr_gw",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "lcr_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "gw_name": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "ip_addr": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "hostname": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "port": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "params": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "uri_scheme": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "transport": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "strip": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "prefix": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "tag": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "defunct": {
+      "type": "int",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 41 - 0
utils/kamctl/mongodb/kamailio/lcr_rule.json

@@ -0,0 +1,41 @@
+{
+  "name": "lcr_rule",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "lcr_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "prefix": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "from_uri": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "request_uri": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "stopper": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "enabled": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/lcr_rule_target.json

@@ -0,0 +1,36 @@
+{
+  "name": "lcr_rule_target",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "lcr_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "rule_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "gw_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "priority": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "weight": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    }
+  ]
+}

+ 121 - 0
utils/kamctl/mongodb/kamailio/location.json

@@ -0,0 +1,121 @@
+{
+  "name": "location",
+  "version": 8,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "ruid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "contact": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "received": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "path": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "expires": {
+      "type": "datetime",
+      "default": "2030-05-28 21:32:15",
+      "null": false
+    },
+    "q": {
+      "type": "double",
+      "default": 1.0,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": "Default-Call-ID",
+      "null": false
+    },
+    "cseq": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "cflags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "user_agent": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "socket": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "methods": {
+      "type": "int",
+      "default": null,
+      "null": true
+    },
+    "instance": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "reg_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "server_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "connection_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "keepalive": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "partition": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/location_attrs.json

@@ -0,0 +1,46 @@
+{
+  "name": "location_attrs",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "ruid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "aname": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "atype": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "avalue": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 21 - 0
utils/kamctl/mongodb/kamailio/matrix.json

@@ -0,0 +1,21 @@
+{
+  "name": "matrix",
+  "version": 1,
+  "columns": [
+    "first": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "second": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "res": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/missed_calls.json

@@ -0,0 +1,46 @@
+{
+  "name": "missed_calls",
+  "version": 4,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "method": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "to_tag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sip_code": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sip_reason": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "time": {
+      "type": "datetime",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 41 - 0
utils/kamctl/mongodb/kamailio/mohqcalls.json

@@ -0,0 +1,41 @@
+{
+  "name": "mohqcalls",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "mohq_id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "call_id": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "call_status": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "call_from": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "call_contact": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "call_time": {
+      "type": "datetime",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/mohqueues.json

@@ -0,0 +1,36 @@
+{
+  "name": "mohqueues",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "mohdir": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "mohfile": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "debug": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 21 - 0
utils/kamctl/mongodb/kamailio/mtree.json

@@ -0,0 +1,21 @@
+{
+  "name": "mtree",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "tprefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "tvalue": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/mtrees.json

@@ -0,0 +1,26 @@
+{
+  "name": "mtrees",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "tname": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "tprefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "tvalue": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/pdt.json

@@ -0,0 +1,26 @@
+{
+  "name": "pdt",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "sdomain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "prefix": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/pl_pipes.json

@@ -0,0 +1,26 @@
+{
+  "name": "pl_pipes",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "pipeid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "algorithm": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "plimit": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 56 - 0
utils/kamctl/mongodb/kamailio/presentity.json

@@ -0,0 +1,56 @@
+{
+  "name": "presentity",
+  "version": 4,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "etag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "received_time": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "body": {
+      "type": "text",
+      "default": null,
+      "null": false
+    },
+    "sender": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "priority": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 101 - 0
utils/kamctl/mongodb/kamailio/pua.json

@@ -0,0 +1,101 @@
+{
+  "name": "pua",
+  "version": 7,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "pres_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "pres_id": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "desired_expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "flag": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "etag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "tuple_id": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "watcher_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "call_id": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "record_route": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "remote_contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "version": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "extra_headers": {
+      "type": "text",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/purplemap.json

@@ -0,0 +1,31 @@
+{
+  "name": "purplemap",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "sip_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "ext_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "ext_prot": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "ext_pass": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 21 - 0
utils/kamctl/mongodb/kamailio/re_grp.json

@@ -0,0 +1,21 @@
+{
+  "name": "re_grp",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "reg_exp": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "group_id": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 51 - 0
utils/kamctl/mongodb/kamailio/rls_presentity.json

@@ -0,0 +1,51 @@
+{
+  "name": "rls_presentity",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "rlsubs_did": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "resource_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "content_type": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "presence_state": {
+      "type": "text",
+      "default": null,
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "updated": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "auth_state": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "reason": {
+      "type": "string",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 126 - 0
utils/kamctl/mongodb/kamailio/rls_watchers.json

@@ -0,0 +1,126 @@
+{
+  "name": "rls_watchers",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "presentity_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "string",
+      "default": "presence",
+      "null": false
+    },
+    "event_id": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "to_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "local_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "remote_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "record_route": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "expires": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "status": {
+      "type": "int",
+      "default": 2,
+      "null": false
+    },
+    "reason": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "version": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "socket_info": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "local_contact": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_user": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "updated": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/rtpproxy.json

@@ -0,0 +1,36 @@
+{
+  "name": "rtpproxy",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "setid": {
+      "type": "string",
+      "default": 00,
+      "null": false
+    },
+    "url": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "weight": {
+      "type": "int",
+      "default": 1,
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 71 - 0
utils/kamctl/mongodb/kamailio/sca_subscriptions.json

@@ -0,0 +1,71 @@
+{
+  "name": "sca_subscriptions",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "subscriber": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "aor": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "state": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "app_idx": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "call_id": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "to_tag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "record_route": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "notify_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "subscribe_cseq": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 71 - 0
utils/kamctl/mongodb/kamailio/silo.json

@@ -0,0 +1,71 @@
+{
+  "name": "silo",
+  "version": 8,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "src_addr": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "dst_addr": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "inc_time": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "exp_time": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "snd_time": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "ctype": {
+      "type": "string",
+      "default": "text/plain",
+      "null": false
+    },
+    "body": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "extra_hdrs": {
+      "type": "text",
+      "default": null,
+      "null": true
+    },
+    "callid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "status": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 71 - 0
utils/kamctl/mongodb/kamailio/sip_trace.json

@@ -0,0 +1,71 @@
+{
+  "name": "sip_trace",
+  "version": 4,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "time_stamp": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    },
+    "time_us": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "callid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "traced_user": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "msg": {
+      "type": "text",
+      "default": null,
+      "null": false
+    },
+    "method": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "status": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "fromip": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "toip": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "fromtag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "totag": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "direction": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 51 - 0
utils/kamctl/mongodb/kamailio/speed_dial.json

@@ -0,0 +1,51 @@
+{
+  "name": "speed_dial",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sd_username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "sd_domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "new_uri": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "fname": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "lname": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "description": {
+      "type": "string",
+      "default": "",
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/subscriber.json

@@ -0,0 +1,46 @@
+{
+  "name": "subscriber",
+  "version": 6,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "password": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "email_address": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "ha1": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "ha1b": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "rpid": {
+      "type": "string",
+      "default": null,
+      "null": true
+    }
+  ]
+}

+ 41 - 0
utils/kamctl/mongodb/kamailio/trusted.json

@@ -0,0 +1,41 @@
+{
+  "name": "trusted",
+  "version": 6,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "src_ip": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "proto": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "from_pattern": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "ruri_pattern": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "tag": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "priority": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 61 - 0
utils/kamctl/mongodb/kamailio/uacreg.json

@@ -0,0 +1,61 @@
+{
+  "name": "uacreg",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "l_uuid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "l_username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "l_domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "r_username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "r_domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "realm": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "auth_username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "auth_password": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "auth_proxy": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "expires": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 51 - 0
utils/kamctl/mongodb/kamailio/uid_credentials.json

@@ -0,0 +1,51 @@
+{
+  "name": "uid_credentials",
+  "version": 7,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "auth_username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": "_default",
+      "null": false
+    },
+    "realm": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "password": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "ha1": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "ha1b": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "uid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 26 - 0
utils/kamctl/mongodb/kamailio/uid_domain.json

@@ -0,0 +1,26 @@
+{
+  "name": "uid_domain",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/uid_domain_attrs.json

@@ -0,0 +1,36 @@
+{
+  "name": "uid_domain_attrs",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/uid_global_attrs.json

@@ -0,0 +1,31 @@
+{
+  "name": "uid_global_attrs",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/uid_uri.json

@@ -0,0 +1,36 @@
+{
+  "name": "uid_uri",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "uid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "scheme": {
+      "type": "string",
+      "default": "sip",
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/uid_uri_attrs.json

@@ -0,0 +1,46 @@
+{
+  "name": "uid_uri_attrs",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "did": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "scheme": {
+      "type": "string",
+      "default": "sip",
+      "null": false
+    }
+  ]
+}

+ 36 - 0
utils/kamctl/mongodb/kamailio/uid_user_attrs.json

@@ -0,0 +1,36 @@
+{
+  "name": "uid_user_attrs",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "uid": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "flags": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/uri.json

@@ -0,0 +1,31 @@
+{
+  "name": "uri",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "uri_user": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 31 - 0
utils/kamctl/mongodb/kamailio/userblacklist.json

@@ -0,0 +1,31 @@
+{
+  "name": "userblacklist",
+  "version": 1,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "prefix": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "whitelist": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/usr_preferences.json

@@ -0,0 +1,46 @@
+{
+  "name": "usr_preferences",
+  "version": 2,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "uuid": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": 0,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "attribute": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "type": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    },
+    "value": {
+      "type": "string",
+      "default": "",
+      "null": false
+    },
+    "last_modified": {
+      "type": "datetime",
+      "default": "1900-01-01 00:00:01",
+      "null": false
+    }
+  ]
+}

+ 68 - 0
utils/kamctl/mongodb/kamailio/version-create.mongo

@@ -0,0 +1,68 @@
+use kamailio;
+db.createCollection("version");
+db.getCollection("version").insert({ table_name: "acc", table_version: NumberInt(5) });
+db.getCollection("version").insert({ table_name: "acc_cdrs", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "active_watchers", table_version: NumberInt(11) });
+db.getCollection("version").insert({ table_name: "address", table_version: NumberInt(6) });
+db.getCollection("version").insert({ table_name: "aliases", table_version: NumberInt(8) });
+db.getCollection("version").insert({ table_name: "carrier_name", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "carrierfailureroute", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "carrierroute", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "cpl", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "dbaliases", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "dialog", table_version: NumberInt(7) });
+db.getCollection("version").insert({ table_name: "dialog_vars", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "dialplan", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "dispatcher", table_version: NumberInt(4) });
+db.getCollection("version").insert({ table_name: "domain", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "domain_attrs", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "domain_name", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "domainpolicy", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "dr_gateways", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "dr_groups", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "dr_gw_lists", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "dr_rules", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "globalblacklist", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "grp", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "htable", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "imc_members", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "imc_rooms", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "lcr_gw", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "lcr_rule", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "lcr_rule_target", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "location", table_version: NumberInt(8) });
+db.getCollection("version").insert({ table_name: "location_attrs", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "matrix", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "missed_calls", table_version: NumberInt(4) });
+db.getCollection("version").insert({ table_name: "mohqcalls", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "mohqueues", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "mtree", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "mtrees", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "pdt", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "pl_pipes", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "presentity", table_version: NumberInt(4) });
+db.getCollection("version").insert({ table_name: "pua", table_version: NumberInt(7) });
+db.getCollection("version").insert({ table_name: "purplemap", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "re_grp", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "rls_presentity", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "rls_watchers", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "rtpproxy", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "sca_subscriptions", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "silo", table_version: NumberInt(8) });
+db.getCollection("version").insert({ table_name: "sip_trace", table_version: NumberInt(4) });
+db.getCollection("version").insert({ table_name: "speed_dial", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "subscriber", table_version: NumberInt(6) });
+db.getCollection("version").insert({ table_name: "trusted", table_version: NumberInt(6) });
+db.getCollection("version").insert({ table_name: "uacreg", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "uid_credentials", table_version: NumberInt(7) });
+db.getCollection("version").insert({ table_name: "uid_domain", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "uid_domain_attrs", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "uid_global_attrs", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "uid_uri", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "uid_uri_attrs", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "uid_user_attrs", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "uri", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "userblacklist", table_version: NumberInt(1) });
+db.getCollection("version").insert({ table_name: "usr_preferences", table_version: NumberInt(2) });
+db.getCollection("version").insert({ table_name: "watchers", table_version: NumberInt(3) });
+db.getCollection("version").insert({ table_name: "xcap", table_version: NumberInt(4) });

+ 16 - 0
utils/kamctl/mongodb/kamailio/version.json

@@ -0,0 +1,16 @@
+{
+  "name": "version",
+  "version": 1,
+  "columns": [
+    "table_name": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "table_version": {
+      "type": "int",
+      "default": 0,
+      "null": false
+    }
+  ]
+}

+ 46 - 0
utils/kamctl/mongodb/kamailio/watchers.json

@@ -0,0 +1,46 @@
+{
+  "name": "watchers",
+  "version": 3,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "presentity_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "watcher_domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "event": {
+      "type": "string",
+      "default": "presence",
+      "null": false
+    },
+    "status": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "reason": {
+      "type": "string",
+      "default": null,
+      "null": true
+    },
+    "inserted_time": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}

+ 51 - 0
utils/kamctl/mongodb/kamailio/xcap.json

@@ -0,0 +1,51 @@
+{
+  "name": "xcap",
+  "version": 4,
+  "columns": [
+    "id": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "username": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "domain": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "doc": {
+      "type": "text",
+      "default": null,
+      "null": false
+    },
+    "doc_type": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "etag": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "source": {
+      "type": "int",
+      "default": null,
+      "null": false
+    },
+    "doc_uri": {
+      "type": "string",
+      "default": null,
+      "null": false
+    },
+    "port": {
+      "type": "int",
+      "default": null,
+      "null": false
+    }
+  ]
+}