|
@@ -7,7 +7,7 @@ Kamailio Command Line Interface Control Tool
|
|
|
|
|
|
#### Indentation
|
|
|
|
|
|
- * user 4 whitespaces for indentation
|
|
|
+ * user 4 whitespaces (no tabs) for indentation
|
|
|
|
|
|
#### Used Frameworks
|
|
|
|
|
@@ -28,7 +28,9 @@ Kamcli prototype is:
|
|
|
kamcli <command> [params]
|
|
|
```
|
|
|
|
|
|
-Each command is implemented as a plugin, its code residing in a single Python file located in *kamcli/commands/*. The filename is prefixed by **cmd_**, followed by command name and then the extension **.py**.
|
|
|
+Each command is implemented as a plugin, its code residing in a single Python
|
|
|
+file located in *kamcli/commands/*. The filename is prefixed by **cmd_**,
|
|
|
+followed by command name and then the extension **.py**.
|
|
|
|
|
|
Development of kamcli has its starting point in the *complex* example of Click:
|
|
|
|
|
@@ -40,7 +42,7 @@ Other examples provided by Click are good source of inspiration:
|
|
|
|
|
|
##### Adding a new command
|
|
|
|
|
|
-In short, the steps for adding a new command (refered also as plugin):
|
|
|
+In short, the steps for adding a new command (refered also as plugin or module):
|
|
|
|
|
|
* create a new file file for your new comand in **kamcli/commands/** folder
|
|
|
* name the file **cmd_newcommand.py**
|
|
@@ -52,6 +54,11 @@ Once implemented, the new command should be immediately available as:
|
|
|
kamcli newcommand ...
|
|
|
```
|
|
|
|
|
|
-The commands **dispatcher** (kamcli/commands/cmd_dispatcher.py) or **address** (kamcli/commands/cmd_address.py) can be a good reference to look at and reuse for implementing new commands.
|
|
|
+The commands **dispatcher** (kamcli/commands/cmd_dispatcher.py) or **address**
|
|
|
+(kamcli/commands/cmd_address.py) can be a good reference to look at and reuse
|
|
|
+for implementing new commands.
|
|
|
|
|
|
-If the new command is executing MI or JSONRPC commands to kamailio, add the appropriate mapping inside the **kamcli/iorpc.py** file to the variable **COMMAND_NAMES**. The recommendation is to use the RPC command as the common name and then map the MI variant.
|
|
|
+If the new command is executing MI or JSONRPC commands to kamailio, add the
|
|
|
+appropriate mapping inside the **kamcli/iorpc.py** file to the variable
|
|
|
+**COMMAND_NAMES**. The recommendation is to use the RPC command as the common
|
|
|
+name and then map the MI variant - MI is obsoleted and scheduled to be removed.
|