sip-router
3 months agortpengine: update README 1986/head
iionita [Wed, 19 Jun 2019 08:23:50 +0000 (11:23 +0300)]
rtpengine: update README

3 months agortpengine: add modparam to switch between legacy hashing algorithm and SHA1
iionita [Fri, 7 Jun 2019 15:26:27 +0000 (18:26 +0300)]
rtpengine: add modparam to switch between legacy hashing algorithm and SHA1

5 months agortpengine: use SHA1 over callid for better distribution among nodes
iionita [Thu, 28 Mar 2019 16:21:22 +0000 (18:21 +0200)]
rtpengine: use SHA1 over callid for better distribution among nodes

5 months agocrypto: add exportable API and expose SHA1 hashing function
iionita [Thu, 28 Mar 2019 15:25:38 +0000 (17:25 +0200)]
crypto: add exportable API and expose SHA1 hashing function

6 months agomodules: readme files regenerated - secfilter ... [skip ci]
Kamailio Dev [Tue, 12 Mar 2019 13:01:42 +0000 (14:01 +0100)]
modules: readme files regenerated - secfilter ... [skip ci]

6 months agosecfilter: added locks and an RPC command to reset stats
Jose Luis Verdeguer [Tue, 12 Mar 2019 12:19:04 +0000 (13:19 +0100)]
secfilter: added locks and an RPC command to reset stats

6 months agosecfilter: update readme [skip ci]
Jose Luis Verdeguer [Tue, 12 Mar 2019 12:27:45 +0000 (13:27 +0100)]
secfilter: update readme [skip ci]

6 months agosecfilter: print statistics of blocked and allowed messages using RPC commands
Jose Luis Verdeguer [Tue, 12 Mar 2019 12:26:45 +0000 (13:26 +0100)]
secfilter: print statistics of blocked and allowed messages using RPC commands

6 months agosecfilter: avoid dereferences null
Jose Luis Verdeguer [Tue, 12 Mar 2019 09:03:26 +0000 (10:03 +0100)]
secfilter: avoid dereferences null

6 months agodb_oracle: oracle client updated: 12.2 -> 18.3
Ovidiu Sas [Mon, 11 Mar 2019 19:06:44 +0000 (15:06 -0400)]
db_oracle: oracle client updated: 12.2 -> 18.3

6 months agortpengine: normalise `compat.h` handling towards bencode upstream
Richard Fuchs [Mon, 11 Mar 2019 11:52:58 +0000 (07:52 -0400)]
rtpengine: normalise `compat.h` handling towards bencode upstream

fixes #1885

6 months agotcpops: log message when execution kemi callback fails
Daniel-Constantin Mierla [Mon, 11 Mar 2019 09:32:27 +0000 (10:32 +0100)]
tcpops: log message when execution kemi callback fails

6 months agoevrexec: safety check for kemi engine use
Daniel-Constantin Mierla [Mon, 11 Mar 2019 09:01:09 +0000 (10:01 +0100)]
evrexec: safety check for kemi engine use

6 months agotopoh: check returned pointer when decoding call-id
Daniel-Constantin Mierla [Mon, 11 Mar 2019 08:57:57 +0000 (09:57 +0100)]
topoh: check returned pointer when decoding call-id

6 months agomodules: readme files regenerated - dispatcher ... [skip ci]
Kamailio Dev [Mon, 11 Mar 2019 08:46:42 +0000 (09:46 +0100)]
modules: readme files regenerated - dispatcher ... [skip ci]

6 months agoMerge pull request #1877 from tverlaan/ds_rpc_remove_memory
Daniel-Constantin Mierla [Mon, 11 Mar 2019 08:37:44 +0000 (09:37 +0100)]
Merge pull request #1877 from tverlaan/ds_rpc_remove_memory

dispatcher: remove destination from in-memory dispatcher set

6 months agocore: mem/pkg - fix error macro name
Daniel-Constantin Mierla [Mon, 11 Mar 2019 07:57:12 +0000 (08:57 +0100)]
core: mem/pkg - fix error macro name

6 months agoapp_python: execution log message based on core latency_limit_action
Daniel-Constantin Mierla [Sun, 10 Mar 2019 09:56:03 +0000 (10:56 +0100)]
app_python: execution log message based on core latency_limit_action

6 months agotmx: use t_release_transaction for t_drop
lazedo [Tue, 5 Mar 2019 11:15:38 +0000 (11:15 +0000)]
tmx: use t_release_transaction for t_drop

6 months agocore: increase max_defines from 256 to 512
lazedo [Tue, 5 Mar 2019 10:35:01 +0000 (10:35 +0000)]
core: increase max_defines from 256 to 512

6 months agopresence: add sockinfo to $subs
lazedo [Tue, 5 Mar 2019 10:34:09 +0000 (10:34 +0000)]
presence: add sockinfo to $subs

6 months agocore: free resources in xavp_clone_level_nodata
lazedo [Tue, 5 Mar 2019 10:33:08 +0000 (10:33 +0000)]
core: free resources in xavp_clone_level_nodata

6 months agotm: add t_release_transaction to api
lazedo [Tue, 5 Mar 2019 10:30:55 +0000 (10:30 +0000)]
tm: add t_release_transaction to api

6 months agopv: use parsed uri to compute tosocket
lazedo [Tue, 5 Mar 2019 10:29:39 +0000 (10:29 +0000)]
pv: use parsed uri to compute tosocket

6 months agortimer: use timer worker id
lazedo [Tue, 5 Mar 2019 10:29:02 +0000 (10:29 +0000)]
rtimer: use timer worker id

6 months agocore: allow a worker id in timer routines
lazedo [Tue, 5 Mar 2019 09:59:04 +0000 (09:59 +0000)]
core: allow a worker id in timer routines

6 months agoapp_jsdt: execution log message based on core latency_limit_action
Daniel-Constantin Mierla [Sat, 9 Mar 2019 08:55:04 +0000 (09:55 +0100)]
app_jsdt: execution log message based on core latency_limit_action

6 months agotm: more debug to track decision to relay reply or not
Daniel-Constantin Mierla [Sat, 9 Mar 2019 08:40:59 +0000 (09:40 +0100)]
tm: more debug to track decision to relay reply or not

6 months agomodules: readme files regenerated - rtpengine ... [skip ci]
Kamailio Dev [Fri, 8 Mar 2019 21:16:42 +0000 (22:16 +0100)]
modules: readme files regenerated - rtpengine ... [skip ci]

6 months agortpengine: add docs for play_media() et al
Richard Fuchs [Fri, 8 Mar 2019 21:06:21 +0000 (16:06 -0500)]
rtpengine: add docs for play_media() et al

6 months agortpengine: add play_media() and stop_media()
Richard Fuchs [Fri, 8 Mar 2019 21:05:44 +0000 (16:05 -0500)]
rtpengine: add play_media() and stop_media()

Also includes addition of the media_duration pvar, as well as several
code cleanups and simplifications.

6 months agodispatcher: remove destination from in-memory dispatcher set 1877/head
Timmo Verlaan [Fri, 8 Mar 2019 20:19:22 +0000 (21:19 +0100)]
dispatcher: remove destination from in-memory dispatcher set

- add dispatcher.remove call to remove entry from in-memory dispatcher
list
- allow arguments to callback in ds_iter_set()

6 months agoapp_lua: execution log message based on core latency_limit_action
Daniel-Constantin Mierla [Fri, 8 Mar 2019 19:51:29 +0000 (20:51 +0100)]
app_lua: execution log message based on core latency_limit_action

6 months agocore: tcp - more details in debug messages
Daniel-Constantin Mierla [Fri, 8 Mar 2019 17:40:45 +0000 (18:40 +0100)]
core: tcp - more details in debug messages

6 months agocore: kemi - exported functions for equivalent tests of src_port and dst_port
Daniel-Constantin Mierla [Fri, 8 Mar 2019 17:37:38 +0000 (18:37 +0100)]
core: kemi - exported functions for equivalent tests of src_port and dst_port

6 months agohtable: exported get_clone api function to return pkg clone for item
Daniel-Constantin Mierla [Fri, 8 Mar 2019 08:04:58 +0000 (09:04 +0100)]
htable: exported get_clone api function to return pkg clone for item

- alternative to GH #1866

6 months agohtable: make static var the local htable item clone
Daniel-Constantin Mierla [Fri, 8 Mar 2019 08:03:47 +0000 (09:03 +0100)]
htable: make static var the local htable item clone

6 months agocore: kemi - corresponding functions to check af==ipv4/ipv6
Daniel-Constantin Mierla [Fri, 8 Mar 2019 07:40:09 +0000 (08:40 +0100)]
core: kemi - corresponding functions to check af==ipv4/ipv6

6 months agocore: exported functions to check incoming protocol
Daniel-Constantin Mierla [Thu, 7 Mar 2019 15:24:24 +0000 (16:24 +0100)]
core: exported functions to check incoming protocol

- corresponding to proto==UDP/TCP/TLS/...

6 months agortjson: reuse r-uri if not given in the rtjson field
Daniel-Constantin Mierla [Wed, 6 Mar 2019 07:16:29 +0000 (08:16 +0100)]
rtjson: reuse r-uri if not given in the rtjson field

6 months agortjson: more debug messages when getting routes from json
Daniel-Constantin Mierla [Tue, 5 Mar 2019 21:40:27 +0000 (22:40 +0100)]
rtjson: more debug messages when getting routes from json

6 months agortjson: user wrapper functions for kemi exports
Daniel-Constantin Mierla [Mon, 4 Mar 2019 19:30:25 +0000 (20:30 +0100)]
rtjson: user wrapper functions for kemi exports

6 months agomodules: readme files regenerated - rtpengine ... [skip ci]
Kamailio Dev [Mon, 4 Mar 2019 17:46:45 +0000 (18:46 +0100)]
modules: readme files regenerated - rtpengine ... [skip ci]

6 months agortpengine: update docs
Richard Fuchs [Mon, 4 Mar 2019 17:36:08 +0000 (12:36 -0500)]
rtpengine: update docs

Document rtpengine_info (from ffee45da0) and the via-branch=next option
(from 2baa05ad)

6 months agortpengine: add support for trickle ICE SDP fragments
Richard Fuchs [Mon, 4 Mar 2019 17:08:19 +0000 (12:08 -0500)]
rtpengine: add support for trickle ICE SDP fragments

6 months agortpengine: add support for explicit load balancing options
Richard Fuchs [Mon, 4 Mar 2019 17:07:30 +0000 (12:07 -0500)]
rtpengine: add support for explicit load balancing options

6 months agortpengine: add support for via-branch=extra option
Richard Fuchs [Mon, 4 Mar 2019 17:06:38 +0000 (12:06 -0500)]
rtpengine: add support for via-branch=extra option

6 months agotopoh: detect when via param is shorter than expected prefix
Daniel-Constantin Mierla [Sat, 2 Mar 2019 12:40:47 +0000 (13:40 +0100)]
topoh: detect when via param is shorter than expected prefix

6 months agotcpops: Fix minor typo: tcp_init_evroutes => tcpops_init_evroutes
Carsten Bock [Sun, 3 Mar 2019 23:15:19 +0000 (00:15 +0100)]
tcpops: Fix minor typo: tcp_init_evroutes => tcpops_init_evroutes

6 months agomodules: readme files regenerated - dialplan ... [skip ci]
Kamailio Dev [Fri, 1 Mar 2019 14:46:42 +0000 (15:46 +0100)]
modules: readme files regenerated - dialplan ... [skip ci]

6 months agodialplan: docs - note about limiting to max 1 rpc reload in 5 seconds
Daniel-Constantin Mierla [Fri, 1 Mar 2019 14:43:16 +0000 (15:43 +0100)]
dialplan: docs - note about limiting to max 1 rpc reload in 5 seconds

6 months agopv: new variable $rcv(key)
Daniel-Constantin Mierla [Fri, 1 Mar 2019 14:06:16 +0000 (15:06 +0100)]
pv: new variable $rcv(key)

- available inside event_route[core:msg-received]
- get details of the received message - the key can be:
  * buf - received message
  * len - lenght of received message
  * srcip - source ip
  * rcvip - local ip where it was received
  * scrport - source port
  * rcvport - local port where it was received
  * proto - protocol as int id
  * sproto - protocol as string
  * af - address family

6 months agocore: init actions context for running event_route[core:msg-received]
Daniel-Constantin Mierla [Fri, 1 Mar 2019 14:05:36 +0000 (15:05 +0100)]
core: init actions context for running event_route[core:msg-received]

6 months agocore: option to run event_route[core:msg-received] in incomming message
Daniel-Constantin Mierla [Fri, 1 Mar 2019 11:55:41 +0000 (12:55 +0100)]
core: option to run event_route[core:msg-received] in incomming message

- done before any major SIP parsing
- on drop, processing of the message is stopped
- enable with received_route_mode=yes (or 1)
- for kemi, set the callback name via kemi.received_route_callback param

6 months agodialplan: basic safety for concurent rpc reload
Daniel-Constantin Mierla [Fri, 1 Mar 2019 09:51:29 +0000 (10:51 +0100)]
dialplan: basic safety for concurent rpc reload

- reported by GH #1874

6 months agotm: put back t in wait timer if still referenced more than once
Daniel-Constantin Mierla [Thu, 28 Feb 2019 19:15:36 +0000 (20:15 +0100)]
tm: put back t in wait timer if still referenced more than once

- have a safety upper limit for putting back in wait timer
- special credits to Yufei Tao for testing and helping to troubleshoot

6 months agoMerge pull request #1872 from kamailio/cchance/htable_dmq_fix
Charles Chance [Thu, 28 Feb 2019 19:11:44 +0000 (19:11 +0000)]
Merge pull request #1872 from kamailio/cchance/htable_dmq_fix

htable: fix infinite loop during dmq sync of large tables

6 months agomodules: readme files regenerated - tcpops ... [skip ci]
Kamailio Dev [Thu, 28 Feb 2019 07:46:38 +0000 (08:46 +0100)]
modules: readme files regenerated - tcpops ... [skip ci]

6 months agotcpops: docs for event_callback parameter
Daniel-Constantin Mierla [Thu, 28 Feb 2019 07:42:51 +0000 (08:42 +0100)]
tcpops: docs for event_callback parameter

6 months agotcpops: event routes executed via kemi framework
Daniel-Constantin Mierla [Thu, 28 Feb 2019 07:35:53 +0000 (08:35 +0100)]
tcpops: event routes executed via kemi framework

- fixed missing compatibility with kemi execution
- event_callback parameter allows setting the name of kemi function

6 months agoutils: Fix copy/paste of 'database port'
Sean Bright [Wed, 27 Feb 2019 20:35:53 +0000 (15:35 -0500)]
utils: Fix copy/paste of 'database port'

6 months agotls: Minor spelling fix in workaround message
Sean Bright [Wed, 27 Feb 2019 20:35:31 +0000 (15:35 -0500)]
tls: Minor spelling fix in workaround message

6 months agodialog: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:26:50 +0000 (09:26 +0100)]
dialog: use kemi wrapper to execute routing functions

6 months agodispatcher: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:26:38 +0000 (09:26 +0100)]
dispatcher: use kemi wrapper to execute routing functions

6 months agoevapi: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:26:19 +0000 (09:26 +0100)]
evapi: use kemi wrapper to execute routing functions

6 months agoeverexec: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:26:09 +0000 (09:26 +0100)]
everexec: use kemi wrapper to execute routing functions

6 months agohttp_async_client: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:25:51 +0000 (09:25 +0100)]
http_async_client: use kemi wrapper to execute routing functions

6 months agomsrp: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:25:36 +0000 (09:25 +0100)]
msrp: use kemi wrapper to execute routing functions

6 months agoregistrar: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:25:25 +0000 (09:25 +0100)]
registrar: use kemi wrapper to execute routing functions

6 months agosipcapture: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:25:12 +0000 (09:25 +0100)]
sipcapture: use kemi wrapper to execute routing functions

6 months agotimer: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:24:51 +0000 (09:24 +0100)]
timer: use kemi wrapper to execute routing functions

6 months agotls: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:24:32 +0000 (09:24 +0100)]
tls: use kemi wrapper to execute routing functions

6 months agotopoh: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:24:12 +0000 (09:24 +0100)]
topoh: use kemi wrapper to execute routing functions

6 months agotopos: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:23:57 +0000 (09:23 +0100)]
topos: use kemi wrapper to execute routing functions

6 months agowebsocket: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:23:31 +0000 (09:23 +0100)]
websocket: use kemi wrapper to execute routing functions

6 months agoxhttp: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:23:13 +0000 (09:23 +0100)]
xhttp: use kemi wrapper to execute routing functions

6 months agoxmlrpc: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Wed, 27 Feb 2019 08:23:00 +0000 (09:23 +0100)]
xmlrpc: use kemi wrapper to execute routing functions

6 months agomodules: readme files regenerated - dispatcher ... [skip ci]
Kamailio Dev [Wed, 27 Feb 2019 08:16:58 +0000 (09:16 +0100)]
modules: readme files regenerated - dispatcher ... [skip ci]

6 months agodispatcher: more details for use_default param with dispatcher.list file
denyspozniak [Wed, 27 Feb 2019 08:05:03 +0000 (09:05 +0100)]
dispatcher: more details for use_default param with dispatcher.list file

6 months agohtable: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Tue, 26 Feb 2019 18:09:44 +0000 (19:09 +0100)]
htable: use kemi wrapper to execute routing functions

6 months agortimer: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Tue, 26 Feb 2019 18:01:28 +0000 (19:01 +0100)]
rtimer: use kemi wrapper to execute routing functions

6 months agotm: use kemi wrapper to execute routing functions
Daniel-Constantin Mierla [Tue, 26 Feb 2019 17:59:16 +0000 (18:59 +0100)]
tm: use kemi wrapper to execute routing functions

6 months agocore: use kemi exec route wrapper for onsend_route and child one init event
Daniel-Constantin Mierla [Tue, 26 Feb 2019 17:37:30 +0000 (18:37 +0100)]
core: use kemi exec route wrapper for onsend_route and child one init event

6 months agocore: receive - use kemi wrapper to execute top keng routes
Daniel-Constantin Mierla [Tue, 26 Feb 2019 17:22:38 +0000 (18:22 +0100)]
core: receive - use kemi wrapper to execute top keng routes

- reset the select static buffer
- GH #1829

6 months agocore: kemi - wraper to execute top routing function
Daniel-Constantin Mierla [Tue, 26 Feb 2019 17:19:00 +0000 (18:19 +0100)]
core: kemi - wraper to execute top routing function

- reset the static buffer for selects and script flags

6 months agoimc: report error if room owner sends #leave
Jan Janak [Thu, 21 Feb 2019 18:02:08 +0000 (13:02 -0500)]
imc: report error if room owner sends #leave

Previously, if the room owner send the #leave command, the room would
have been automatically destroyed. That is somewhat dangerous and
error prone, e.g., if the user sends the #leave command to the wrong
room. With this patch, #leave reports an error if used by a room
owner and the user is encouraged to use #destroy instead.

6 months agoimc: add Supported header to all chat room MESSAGEs.
Jan Janak [Wed, 20 Feb 2019 23:12:02 +0000 (18:12 -0500)]
imc: add Supported header to all chat room MESSAGEs.

The header contains value "kamailio/imc" which indicates that the
end-point is a chat room that supports the in-band signaling protocol
implemented by Kamailio's imc module.

6 months agoimc: add In-Reply-To header to MESSAGEs generated in response
Jan Janak [Wed, 20 Feb 2019 22:21:13 +0000 (17:21 -0500)]
imc: add In-Reply-To header to MESSAGEs generated in response

When generating a MESSAGE in response to a command, add a In-Reply-To
header field to the second message with the Call-ID of the (original)
message that carried the command. A chat client could then use the
In-Reply-To header field to correlate requests and responses carried
in-band in chat messages.

6 months agoimc: implement command #rooms
Jan Janak [Wed, 20 Feb 2019 17:44:16 +0000 (12:44 -0500)]
imc: implement command #rooms

The command can be used to list all the rooms available on the chat
server.

6 months agoimc: implement command #add
Jan Janak [Wed, 20 Feb 2019 16:21:56 +0000 (11:21 -0500)]
imc: implement command #add

The command can be used by room owners and administrators to
explicitly add other users as members to the room. It works a bit like
the command #invite, except that the added user will have no chance to
accept or reject the request.

6 months agoimc: check arguments in #invite
Jan Janak [Wed, 20 Feb 2019 15:51:03 +0000 (10:51 -0500)]
imc: check arguments in #invite

The command has one required argument: the name/URI of the user to be
invited to the room.

6 months agoimc: a small fix in #join
Jan Janak [Wed, 20 Feb 2019 15:40:24 +0000 (10:40 -0500)]
imc: a small fix in #join

When a user has left or been removed from a room and try to join
again, make sure to test the IMC_MEMBER_DELETED flag, otherwise they'd
be getting a message that they are already in the room.

6 months agoimc: make message buffer larger
Jan Janak [Wed, 20 Feb 2019 15:22:56 +0000 (10:22 -0500)]
imc: make message buffer larger

Enlarge the buffer so that longer messages and user lists can be sent.
A larger buffer is fine when TCP and or TLS is used.

6 months agoimc: notify user #leaving a room.
Jan Janak [Wed, 20 Feb 2019 15:19:44 +0000 (10:19 -0500)]
imc: notify user #leaving a room.

When a user chooses to leave a room, send the broadcast first. That
way, the broadcast will include the leaving user and they will be able
to see that they have left the room successfully. Also, this behavior
is consistent with the behavior of #join.

6 months agoimc: improved #join command handling
Jan Janak [Wed, 20 Feb 2019 15:03:22 +0000 (10:03 -0500)]
imc: improved #join command handling

This patch improves the overall handling of the #join command on the
chat server. If a user attempts to join a room they are already a
member of, notify the user, instead of sending a broadcast that the
user has joined again to the entire room.

If a user attempts to join a private room, notify them that private
rooms are by invitation only with a unicast message and send a
broadcast to the entire room about the join attempt so that
administrators can see the join attempt in order to decide whether or
not to send an invitation to the user.

6 months agoimc: consistent formatting of room/user names.
Jan Janak [Wed, 20 Feb 2019 07:30:08 +0000 (02:30 -0500)]
imc: consistent formatting of room/user names.

No matter in which message a room URI or user URI is printed, always
use the same function to consistent format the resulting string. In
most cases, this means printing just the username portion of the full
URI.

6 months agoimc: cleanup in invite related messages.
Jan Janak [Wed, 20 Feb 2019 06:39:17 +0000 (01:39 -0500)]
imc: cleanup in invite related messages.

In the original version, when the user receives an invitation to join
the room, it was not obvious who is inviting.

6 months agoimc: rename command #list to #members.
Jan Janak [Wed, 20 Feb 2019 06:30:32 +0000 (01:30 -0500)]
imc: rename command #list to #members.

List was not very good name for the command, because the user would
not know whether the command lists rooms or members within a room.

The alias "list" is kept for backward compatibility.

6 months agoimc: make #create command arguments optional
Jan Janak [Wed, 20 Feb 2019 06:23:53 +0000 (01:23 -0500)]
imc: make #create command arguments optional

With no arguments, the room name is taken from To header and the room
will be made public.

With one argument, if the value is 'private', a private room with name
from To is created. If the value of the single argument is anything
else, it is taken as room name and the room will be made public.

With two argument, the first argument is room name and the second
argument must be string 'private'.

This change makes the #create command consistent with all other
commands where the room/user name is also optional.

6 months agoimc: consistent handling of command parameters.
Jan Janak [Wed, 20 Feb 2019 05:11:29 +0000 (00:11 -0500)]
imc: consistent handling of command parameters.

Most (all) commands takes parametes in one of the following forms:
username, username@domain, sip:username@domain. The purpose of this
change is to provide consistent handling of such parameters across all
commands and their arguments.

If a command takes a user or a room as a parameter, the user can
provide just a username, username@domain, or a full URI
sip:username@domain. The imc module will automatically obtain missing
parts from other parts of the message, e.g., the Request-URI or From
headers.

In addition, all debugging and logging messages print the full URI of
users and rooms. This significantly helps with debugging and
development.