106 Commits

Author SHA1 Message Date
Mathieu Parent
e318e3eb91 Skinny: update profile IP address if changed during socket creation 2011-02-25 21:06:21 +01:00
Mathieu Parent
c18835d3f9 Skinny: Allow to listen on ipv6
also allow to specify a blank ip which means: all
2011-02-25 01:53:05 +01:00
Mathieu Parent
2148d81d74 Skinny: avoid crash when loading config with blank soft-key-set value 2011-02-25 00:05:56 +01:00
Mathieu Parent
c9aab94aa4 Skinny: use a const for SKINNY_KEY_SET_IN_USE_HINT 2011-02-25 00:05:56 +01:00
Mathieu Parent
e7a8189b2b Skinny: centralized registration 2011-02-23 01:07:54 +01:00
Anthony Minessale
93cc3dc556 normalize tests for outbound channels to use switch_channel_direction instead of testing for CF_OUTBOUND 2010-12-15 20:59:42 -06:00
Mathieu Parent
d018fa489a Skinny: send proper USER_TO_DEVICE_DATA_MESSAGE 2010-09-25 10:49:13 +02:00
Mathieu Parent
25ddef504d Skinny: add support to DeviceToUser and UserToDevice messages 2010-09-24 01:55:54 +02:00
Mathieu Parent
9fc6b2087a Skinny: no need for heartbeat event to handle keepalive timeout 2010-09-23 19:51:14 +02:00
Mathieu Parent
f5a6831ffc Skinny: allow configuration of softkeys via xml
- 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
2010-09-04 09:35:43 +02:00
Mathieu Parent
461db7573e Skinny: Better IP change handling
- Respawn only if ip or port is changed
- Properly handle timeout
2010-09-03 23:34:19 +02:00
Mathieu Parent
b762a0aa7f Skinny: block socket to decrease CPU usage
non-blocking mode can still be used by setting MOD_SKINNY_NONBLOCK
2010-09-03 19:08:41 +02:00
Mathieu Parent
a5cd2df89a Skinny: Handle network-address-change trap event
- add auto-restart param to each profile (if true, ip is automaticaly changed)
- some cleaning (unused args in flush_listener, better logs)
2010-09-03 00:09:10 +02:00
Mathieu Parent
ce352bccc5 Skinny: stop media on early media hangup (ring-out) 2010-08-31 08:40:37 +02:00
Anthony Minessale
46c6650a94 pass originate flags into session_request so we can selectivly skip throttling 2010-08-26 12:19:49 -05:00
Mathieu Parent
8921675668 Skinny: switch to new cache_db abstraction 2010-08-24 23:35:52 +02:00
Mathieu Parent
2aac00ef81 Skinny: MODSKINNY-14 The Cisco 7910 phone is no tone when I try to make a call and hang up.
Thanks to Sergio
2010-08-24 22:38:57 +02:00
Mathieu Parent
59e197584c Skinny: more on device types
- print device type name when doing skinny status profile internal device ...
- add 7962 and 7965
- use base10 number
2010-07-28 22:17:54 +02:00
Mathieu Parent
7eec05736a Skinny: more API
- 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
2010-07-28 19:42:59 +02:00
Mathieu Parent
0a04ecb8dd Skinny: ring tone on dialing side 2010-07-28 00:31:52 +02:00
Mathieu Parent
db1289dfaf Skinny: avoid crash with autocompletion when skinny is unloaded 2010-07-22 21:04:18 +02:00
Mathieu Parent
5e07bd336c Skinny: hangup and hold calls in PROCEED state
as those CONNECTED
2010-07-20 22:43:56 +02:00
Mathieu Parent
20194286a4 Skinny: correct early media and answer
- SWITCH_MESSAGE_INDICATE_DISPLAY was missing a "break" statement
- handle not responding device (cancels early media or answer)
- don't send messages when listener is not ready (fix rare crashes)
2010-06-25 18:25:12 +02:00
Mathieu Parent
5017869399 Skinny: handle early media
See MODSKINNY-8 (switch_core_io.c:121
SKINNY/internal/SEP002699438FB6:0/1 has no read codec when using early
media)
2010-06-17 07:44:33 +02:00
Mathieu Parent
df92a3ca07 Skinny: Remove unused flags 2010-06-17 07:05:28 +02:00
Mathieu Parent
2629a570c7 Skinny: MWI improvement: allow domain name <> profile name 2010-06-16 22:42:15 +02:00
Mathieu Parent
1d7d014612 Skinny: Basic MWI
With following limitations:
- only first line is handled
- only works well when domain name = profile name
2010-06-16 22:42:15 +02:00
Mathieu Parent
2fc09235b7 Skinny: split event handlers 2010-06-10 08:35:05 +02:00
Anthony Minessale
bc6334a610 FSCORE-617 2010-06-07 16:47:35 -05:00
Mathieu Parent
f1b636aaf7 Skinny: fix crash with outgoing channel without remote session 2010-05-21 10:18:22 +02:00
Mathieu Parent
9682599b6b Skinny: fix unhold 2010-05-21 02:22:32 +02:00
Mathieu Parent
14fee6c798 Skinny: set BOND variable early to have call info during ring
This is hackish
2010-05-21 02:09:09 +02:00
Mathieu Parent
bfb6a8b1f5 Skinny: Initial Windows support
Thanks to Peter Olsson

Closes: MODSKINNY-3
2010-05-20 23:19:10 +02:00
Mathieu Parent
a1f9cc1efa Skinny: pass remote session to ring_lines because BOND is not set yet 2010-05-20 18:45:25 +02:00
Mathieu Parent
d172e9febb Skinny: send the call state when requested
This solves incorrect display on the phone.

BUT: this creates a delta because the SQL value and the value known by
the phone. I hope this doesn't break other things.

(NB: the original problem here was the unability to do an UPDATE inside
a SELECT callback)
2010-05-20 17:29:25 +02:00
Mathieu Parent
924683a73c Skinny: handle SWITCH_MESSAGE_INDICATE_DISPLAY
- send SWITCH_MESSAGE_INDICATE_DISPLAY when ringing (after knowing calle
  info
- send call info when receiving SWITCH_MESSAGE_INDICATE_DISPLAY

The send SWITCH_MESSAGE_INDICATE_DISPLAY part doesn't work yet, because
partner channel is locked (have to find out why)
2010-05-20 17:14:49 +02:00
Mathieu Parent
23b09b4593 Skinny: Correct state handling
- wait for media before marking channel as answered
- set effective_caller_{id,name} before sending call info
2010-05-20 16:34:38 +02:00
Mathieu Parent
8ec0b7f4c7 Skinny: fix redial button, and all nested "bridge" 2010-05-20 15:36:26 +02:00
Mathieu Parent
8cc89ab042 Skinny: rewrite of the skinny state machine
- 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
2010-05-20 15:16:08 +02:00
Mathieu Parent
0bc11afa73 Skinny: split out server part
And try to keep each file below 2000 lines
2010-05-18 10:49:01 +02:00
Mathieu Parent
51f1ad5072 Skinny: Send hangup cause to device (busy, unknown number) 2010-05-18 10:49:01 +02:00
Anthony Minessale
a5f7461ee2 fix null pointer deref code path 2010-05-05 11:01:32 -05:00
Mathieu Parent
dcb9c0ca52 Skinny: Initial patterns dialplan implementation.
More info on mod_skinny wiki page
2010-04-20 22:40:21 +02:00
Mathieu Parent
03f91afd34 Skinny: VersionMessage per device type 2010-04-16 18:01:19 +02:00
Mathieu Parent
00b2622350 Skinny: initial transfer support
and some re-indentation
2010-04-16 11:59:58 +02:00
Mathieu Parent
93db4451d1 Skinny: fix previous commit, define current time on hangup 2010-04-15 11:11:05 +02:00
Mathieu Parent
befd41c829 SKinny: handle hold corner cases
- try to re-use existing OffHook session
- hold active lines before: newcall, resume
- allow endcall on: offHook, afterFirstDigit
- allow newcall on: connected, ringin
2010-04-09 18:02:14 +02:00
Mathieu Parent
a1952b8636 Skinny: implement hold/resume
Also rework a bit softkey sets
2010-04-09 16:12:58 +02:00
Mathieu Parent
adcb11f3d3 Skinny: fix calls without media
If party_id is 0, the phone will not properly release media
2010-04-09 11:13:22 +02:00
Mathieu Parent
c15e163b88 Skinny: avoid non-set profile name 2010-04-08 23:16:44 +02:00