For numbers with variable length, there should be a timeout to wait for
further digits before routing the number. This has been prepared with
the skinny-wait target, which waited forever. This patch implements the
digit timeout which routes the call after the timeout has elapsed. The
timeout can be configured in the mod_skinny XML settings
("digit-timeout") and defaults to 2 seconds.
This implementation has been requested and sponsored by Blackned GmbH.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Nathan Neulinger <nneul@neulinger.org>
- enhance conf/skinny_profiles/internal.xml
- Sanity checks
+ softKeySet id < 16
+ less than 16 buttons per softKeySet
+ at least the default soft-key-set to load the profile
+ at least one profile to load mod_skinny
- Lower some ERRORs to WARNINGs as they don't prevent module loading
- Default skinny_str2soft_key_event to 0
- allow to set most settings at runtime (all but ip, port and odbc-dsn)
- little rewrite of the config load
- don't print Keepalive and KeepaliveAck messages unless profile debug is >=10
- print usage when incorrect parameters
- for incoming calls, go CS_ROUTING only when number is dialed.
CS_HIBERNATE before
- start media when both side have answered
Also:
- send tone for UNALLOCATED_NUMBER and USER_BUSY
- if channel variables are not sufficent to set call info, ask the
partner channel
- Solve deadlock:
+ associate all skinny_profile_find_session with the corresponding
switch_core_session_rwunlock
+ lock the newly created session in skinny_create_ingoing_session
+ enhance rwlocks debugging
- Shared lines:
+ Inform shared lines on answering
+ Answering line has info after other shared lines
- move api to own file
- really allow several profiles (one thread per profile)
- global pool
- pool per profile
- Remove unused globals.calls
- Check for closed listener before sending data
- use mutex for hashes
- Shared lines (same line on several phones)
+ Active lines stored in db
- Separate SQL mutex per profile
- New event skinny::call_state
- Clean port_message
- More protocol understanding:
+ stimulus may have call_id
+ off_hook may have call_id
+ set_ringer may have call_id and line_instance
+ New DisplayPriNotifyMessage
- Use Cisco terms for Call state
+ Congestion -> LineInUse
+ CallRemoteMultiline -> InUseRemotely
- Add line_instance to Lines table (relative position contrary to
absolute position)
- Less assertions as FS already does some