sip-router
13 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

15 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

15 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

15 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]

15 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

15 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]

15 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

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

15 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

15 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

15 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

15 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

15 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

15 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]

15 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

15 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

16 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

16 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

16 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

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

16 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

16 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

16 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

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

16 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

16 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

16 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

16 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]

16 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

16 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.

16 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()

16 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

16 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

16 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

16 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

16 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

16 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

16 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/...

16 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

16 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

16 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

16 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]

16 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)

16 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

16 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

16 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

16 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

16 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

16 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]

16 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

16 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

16 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]

16 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

16 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

16 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

16 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

16 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]

16 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

16 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

16 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'

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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]

16 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

16 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

16 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

16 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

16 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

16 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

16 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

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 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.

16 months agoimc: pass both parsed and unparsed URIs to all command handlers
Jan Janak [Tue, 19 Feb 2019 19:14:26 +0000 (14:14 -0500)]
imc: pass both parsed and unparsed URIs to all command handlers

In order for the command handler to be able to send a response back
when the corresponding room does not exist, e.g., when sending an
error message, the handler must have access to the original unparsed
URI.

This change fixes one bug on the side: when sending a response, the
response will be sent to the correct part number which was part of the
original SIP URI. Previously, port numbers were ignored since the SIP
URI to send the message to was constructed just from the username and
domain parts.