- 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)
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)
- 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)
- 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
- allow several instances of the same device on different sockets
- move lines to table skinny_lines, as they need more params
- various small changes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16959 d0543943-73ff-0310-b7d9-9358b9ac24b2
- removed unused globals: codecèprefs, codec_master, codec_rates
- moved global debug to profile
- store button type as id in DB (avoid case-sensitivity problem)
-
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16794 d0543943-73ff-0310-b7d9-9358b9ac24b2
- Refactorize line/speed-dial info (with getters)
- Set calling/called party when known
- Don't recreate session on existing
- Lower some debug messages (SQL, messages send/received)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16790 d0543943-73ff-0310-b7d9-9358b9ac24b2
- Construct call_id based on simple increment per profile
- close RTP only if needed
- now hanging up while there is no other leg works
- better steps: create_session -> process_dest -> answer
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16789 d0543943-73ff-0310-b7d9-9358b9ac24b2
- Print message types and softkey states instead of their code
- Show line number of calling function
- Replace the remaining send_select_soft_keys by skinny_line_set_state (to keep proper state)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16788 d0543943-73ff-0310-b7d9-9358b9ac24b2