69 Commits

Author SHA1 Message Date
Mathieu Parent
b3997353a1 Skinny: Stop harcoding APR_TIMEUP
See also FS-3425
2011-07-22 09:17:09 +02:00
Mathieu Parent
ff08ea68ce Skinny: reindent using vim's =G 2011-05-26 21:43:53 +02:00
Mathieu Parent
fd7bbc0b3c Skinny: use IANA names for G729 codecs 2011-02-26 11:45:19 +01:00
Mathieu Parent
85b0e1b9c9 Skinny: Adds unimplemented send_data(), correct formats
- send_data() (only defined in .h-file - never implemented)
- Adds correct formats when adding message body.

Thanks to Peter Olsson for spotting this in FS-2737
2010-09-27 18:49:11 +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
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
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
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
48c7bb320e Skinny: correct define_time_date
The 'day' field is the month day (and not year day).

Fix MODSKINNY-4 and MODSKINNY-7
2010-05-27 11:55:09 +02:00
Mathieu Parent
96a630e454 Skinny: fix compilation on OS X
declaring some variables "extern" thanks to Peter Olsson

Fix MODSKINNY-6: Build still fails on OS X (even after last changes)
2010-05-26 10:40:38 +02:00
Mathieu Parent
5bdf8bcc16 Skinny: More channel variables 2010-05-21 01:12:40 +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
Mathieu Parent
800918ab14 SKinny: use of labels, step2 2010-05-18 10:49:00 +02:00
Mathieu Parent
60090a8602 Skinny: using labels for display text
Based on chan-sccp-b (file src/sccp_labels.h)
2010-05-18 10:49:00 +02:00
Mathieu Parent
295f39c158 Skinny: renamed improper skinny_create_ingoing_session to _incoming_ 2010-05-18 10:49:00 +02:00
Mathieu Parent
3b0f1711ba Skinny: corrections to call info:
- channel vars are caller_ and not callee_
- inbound/outbound are reversed from the skinny POV
- use displayname
2010-05-12 21:02:14 +02:00
Mathieu Parent
194e57268a Skinny: tuple profile, device_name, device_instance is unique 2010-05-10 18:19:58 +02:00
Mathieu Parent
74e14f0dfb Skinny: fix the build 2010-05-10 18:19:58 +02:00
Mathieu Parent
8806bb2da1 Skinny: better call info 2010-05-10 18:19:57 +02: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
9a689a45fc Skinny: correct transfer 2010-04-16 18:01:19 +02:00
Mathieu Parent
03f91afd34 Skinny: VersionMessage per device type 2010-04-16 18:01:19 +02:00
Mathieu Parent
deb2277936 Skinny: allow firmware version per device 2010-04-16 15:16:27 +02:00
Mathieu Parent
4263dda2de Skinny: Initial implementation of VersionReq
And reordering
2010-04-16 15:03:37 +02:00
Mathieu Parent
00b2622350 Skinny: initial transfer support
and some re-indentation
2010-04-16 11:59:58 +02:00
Mathieu Parent
3a8d9a04dc Skinny: reordering message types 2010-04-15 15:24:04 +02:00
Mathieu Parent
e7a5420b31 Skinny: handle Hold stimulus 2010-04-15 15:05:34 +02:00
Mathieu Parent
764b435d7c Skinny: correct backspace handling, and behave more like CCM 2010-04-15 14:47:01 +02:00
Mathieu Parent
93db4451d1 Skinny: fix previous commit, define current time on hangup 2010-04-15 11:11:05 +02:00
Mathieu Parent
d41f32356c Skinny: calling shared lines 2010-04-15 11:07:45 +02:00
Mathieu Parent
e44d79192f Skinny: Handle backspace 2010-04-15 10:54:01 +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
555b205344 Skinny: handle backspace 2010-04-09 16:54:29 +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
7e3c29c600 Skinny: manage shared lines from the calling POV
Called POV already implemented
2010-04-09 14:59:18 +02:00
Mathieu Parent
bec8d75ef6 Skinny: don't double unlock on keypad
double unlock is same as locking :P
2010-04-08 23:17:13 +02:00
Mathieu Parent
d3d50e6eb3 Skinny: release XML config
Fixes: reloadxml blocked
2010-04-08 22:59:31 +02:00
Mathieu Parent
58595bdaec Skinny: solve deadlocks and more
- 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
2010-04-08 22:38:24 +02:00
Mathieu Parent
9c4767456a Skinny: Hook the proper line 2010-04-02 15:12:06 +02:00
Mathieu Parent
5a4fbd414e Skinny: unused variable 2010-04-02 14:50:11 +02:00
Mathieu Parent
9cf882566f Skinny: security
- Avoid writing outside of fields
- tab ident
2010-04-02 14:47:37 +02:00
Mathieu Parent
54e73c774f Skinny: Check for socket to see if listener is alive
also, use tab to indent
2010-04-01 19:50:55 +02:00
Mathieu Parent
59bb764ff9 Skinny: avoid some crashes
- 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
2010-04-01 19:41:48 +02:00
Mathieu Parent
b8ac781c05 Skinny: Implement shared lines and more
- 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
2010-04-01 14:08:12 +02:00
Mathieu Parent
b769233b76 Skinny: Split ou tables
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@17022 d0543943-73ff-0310-b7d9-9358b9ac24b2
2010-03-17 12:52:08 +00:00