Commit Graph

79 Commits

Author SHA1 Message Date
Christian Richter fc3d27cf6f * removed pp_l2_check (fixed L2 bug in mISDNuser)
* added blocking flag to stack object. A port can be blocked/unblocked from the
  cli
* added EVENT_PORT_ALARM to send alarm infos to the chan_misdn.c layer (later	
  we can add a manager event for that)
* added block_on_alarm option, to block the port whenever a ALARM occurs
* added need_busy flag to indicate if we've sended a CONTROL_BUSY already
* changed a bunch of cb_log(-1,..) to cb_log(0,..) due to funny behaviour in 
  recent asterisk ast_log messages..
* fixed a few ETSI state violations, especially when finishing calls in 
  different seldom states
* changed debug levels a lot to make the log more readable in low debuglevels
* some first fixes for the HOLD/RETRIEVE stuff (doesn't work totally still)
* removed the PRECONNECTED state stuff
* added cause 27 when we get a CLEANUP directly after a outgoing SETUP, this
  creates a CHANISUNAVAIL instead of a NOANSWER
* removed the addr pointer from "misdn show stacks" that's not needed anymore 
  and makes the output more unreadable
* added cause saving on RELEASE/RELEASE_COMPLETE
* set cause to 16 on prepare_bc
* removed stack getting from ph_control functions, we don't really need it 
  there
* added beroec api



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-03 16:38:00 +00:00
Kevin P. Fleming 6d0742fc16 merge Russell's 'hold_handling' branch, finally implementing music-on-hold handling the way it was decided at AstriDevCon Europe 2006 (and the way people really want it to be)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 20:44:39 +00:00
Christian Richter 54ce0f0a22 added even more statefulness for sending out disconnect/release/release_complete messages. added support for incoming presentation/screening. fixed a bug that we generate TONE_EVENTS on hanguptone_indicatem, which caused asterisk to write blocking thread messages. added nodialtone option to prevent dialtone for always_immediate
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-13 14:13:24 +00:00
Christian Richter 94274cc26b * Introducing a new way for the l1watcher thread using the ast_sched way. Now l1watcher timeouts can be configured separately for every portgroup.
* added a signal handler to allow waking up the misdn task thread (that may sleep in a poll call) via misdn_tasks_wakeup().
* overlap_dial functionality implemented.
* fixes a bug which leads to a segfault after reordering config elements in the enum or struct



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-11 19:30:35 +00:00
Christian Richter 46d200f14d removed unnecessary locking, which might have created deadlocks. removed find_chan_by_l3id, since the l3id is not unique over all ports. removed automatic nt_stack reinitialization, since this creates segfaults.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-10 11:06:47 +00:00
Christian Richter bd0b801a0d * removed tone_indicate, we genrate only the dialtone by ourself (and the hanguptone of course)
* removed the state handling from release_chan, and simplified the ast_hangup/ast_queue_hangup stuff
* added pp_l2_check option, for pp lines where the pbx does not initially gets the L2 up
* simplified and fixed a bug in the pid generation code 
* fixed a bug in empty_chan, which might cause segfaults and memorry corruptions
* added prepare_bc function, which is sort of the opposite of empty_bc



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 15:11:40 +00:00
Christian Richter 130ce69987 removed the reloading of the ntdebug stuff, since this is a bit buggy, we only set it when loading chan_misdn for now. fixed a litle state problem when receiving RELEASE_COMPLETE. also we may only play tones to a NT when the extension does not match and such cases.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-04 17:04:21 +00:00
Christian Richter 5da2848158 removed our own tone creation from misdn_indicate, we just return -1. Now we get a lot fewer blocked in thread blah warnings..
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 16:47:28 +00:00
Christian Richter f629ae1872 added misdn show config description[s] to show all the possible misdn.conf settings with a description in the CLI
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-03 16:41:43 +00:00
Christian Richter 6027721510 added a bit logging, when we split the bridge
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 14:09:52 +00:00
Christian Richter f5c0cd2ddc added better L2 handling for ptp, if it's down we don't try to call on that port in groupdial anymore, also we try to get it up then. Additionally added the configoptions ntdebugflags and ntdebugfile to debug the mISDNuser NT Stack (should have done that ages before..). isdn_lib.c compiles again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-29 20:12:19 +00:00
Christian Richter fc8d55ab15 moved a notice into a log
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-28 14:24:18 +00:00
Christian Richter 727488c81b fixed a few state problems when hanging up the call. also changed a few debug messages to higher log level
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-28 14:15:29 +00:00
Christian Richter 5d18356b24 fixes segfault on incoming call which is disconnected in Alerting state
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-27 11:28:48 +00:00
Christian Richter baad1c266c * fixed the busy state
* fixed tone handling after ast_hangup was called
* optimized the tone_indication function
* removed warnings in favour of log debugs
* improved the round_robin method
* added logs for channel setting/emptying
* fixed channel forgot to set bug





git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-26 17:37:11 +00:00
Christian Richter 70a4c98a5a * added support for PID export/import to identify bridging in misdn_call already
* fixed a few inband Alerting issues, sometimes we need to create alerting, some
times it's inband
* beautified the state debugging of misdn_hangup
* removed "real"  bchannel activating/deactivating in chan_misdn.c
* fixed "round_robin" bug when there's only 1 port
* added more informative prints when channel could not be created
* changed some warnings to notices
* reworked the whole bchannel state machine stuff, 
  it is now like in the examples of mISDNuser and therefore a lot easier, 
  and it is now harder to create bugs
* bchannel_activate/deactivate is now only called in setup/cleanup bc, 
  they may merge sometime
* it is very important to setup/cleanup the bchannels under the correct 
  conditions, especially in the NT Side we can only setup the bchannels 
  when we send a Message! 
  In the TE side we can only setup the bchannel when we received the channel 
  of course
	      


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-21 15:21:46 +00:00
Christian Richter 2302fa58d7 when we get a disconnect, we should stop the tones on te side..
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-19 09:44:04 +00:00
Christian Richter cdbddf5892 we need to send DISCONNECT on Timeout in the ALERTING/PROCEEDING cases too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-19 07:36:18 +00:00
Christian Richter 829583a3dc added TONE_HANGUP, also added Tone generation by mISDN_dsp for post hangup tones, therefore the TONE_X defines are in the isdn_lib.h now. changed a REALEASE to a DISCONNECT in NT Stack, to make tones available in that state.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-18 19:09:32 +00:00
Christian Richter d86993b90b * fixed bchannel cleaning race condition with new bchannel state (CLEAN_REQUEST)
* added early bridge-hook, so we know if we need to generate ringing or 
  can take it from the far end chan_misdn channel (if available)
* fixed the issue, that we may not activate the bchannel on PTMP, 
  when we receive ALERTING/PROCEEDING/PROGRESS, only on CONNECT. There might
  be other PTMP devices and we might disturb their bchannel. 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-17 10:37:35 +00:00
Christian Richter 05eed16044 Fixed detection of dtmfs with bridged channels.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-08 09:51:13 +00:00
Kevin P. Fleming 472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Christian Richter 7924c21e33 changed the clean_up_bc function to work proper again. fixed the print with the conference nr. when bridged
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 13:01:02 +00:00
Christian Richter 24818d53b1 added select before write to avoid deadlock on full buffer. added some defines for deadlock debugging. added code snippet for generating silence if we don't have data to write.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-06 09:40:41 +00:00
Christian Richter 4be235a974 added bearer capability reject support. we send release instead of disconnect in case we have no real channel yet. added support for Restarting channels added support for sending complete decoding. changed some log levels.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01 12:51:41 +00:00
Christian Richter eefc9193e7 added EVENT_NEW_CHANNEL. We change the channel name now when we got the real channel, also changed name generation to new stringfield api
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-24 23:21:03 +00:00
Christian Richter 8122c35675 fixed to early connect bug which came in yesterday.., also added the transmit of progress indicators through channel vars
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-24 07:58:52 +00:00
Christian Richter 39ac1a5b83 added a l1watcher timeout, therefore removed the old behaviour of guessing the l1state.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 19:40:16 +00:00
Christian Richter adfae0960f * export_ies uses now _VAR else the vars are not copied to the dest chan
* when receiving a connect from the NT Side we wait until we have the final
  l3id until we queue the answer to asterisk to avoid bridging conflicts
* when not bridged to misdn we had a segfault after receiving the connect 
  due to a strcasecmp bug.. this didn't happen before, cause we hadn't had
  the bridge before
* cleanup of the bchannels is queued now, due to possible race conditions
* added mISDN_clear_stack when cleaning the bchannel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-23 12:38:06 +00:00
Christian Richter 19d46333bf added callcounters for incoming and outgoing calls
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-22 15:02:03 +00:00
Christian Richter 3fb070853b fixed bug that we've lost the orginator of the call.. now we can hear to disconnect indications again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@27770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-17 15:29:01 +00:00
Christian Richter a309a2db9f fixed very bad memory overwrite which leaded to segfaults on some systems. removed redundant buffer betweend mISDN reading thread and ast_read in favour of the already existing pipe, this clarifies the way a voice frame takes between mISDN and asterisk a lot. centralized debugging of NumberPlan. removed a compiler warning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@27346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-16 14:34:21 +00:00
Christian Richter efccf89eae Added option far_alerting. This option makes it possible to generate a Ringing on other channels if they feel that they should have inband ringing, but there is non in reality. I need this due to the fact that asterisk has not the possibility to transmit progress indicators thus chan_sip and others do not know wether they should generate a Rining tone themselves if they receive AST_CONTROL_RINGING..
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-05 16:38:15 +00:00
Christian Richter 7f58902bf3 use set_callerid to update callerid with prefix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-02 14:26:40 +00:00
Christian Richter 63b0baa757 returning 128 emtpy Frames instead of null frame.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-02 14:00:37 +00:00
Tilghman Lesher dfdf6e1f76 Don't return stack pointers from functions (especially since the code will attempt to free() them later)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 03:58:13 +00:00
Christian Richter 835dfe67b3 added an up-queue message mechanism to avoid buffer fillups in the kernel, also changed some strdups to ast_strdupa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 22:56:00 +00:00
Kevin P. Fleming 574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Kevin P. Fleming 2229586d71 more module loader related fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-17 16:42:21 +00:00
Christian Richter 52cf26255a fixed some issues, that appear at higher load
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-10 16:50:20 +00:00
Christian Richter cb6f278393 we send nearly everytime a RELEASE, only if we for sure know, that it's a TE and we did create the call we don't to hear the Inband Info
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-10 14:09:17 +00:00
Kevin P. Fleming f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08 22:01:19 +00:00
Christian Richter ece21c3019 sorry litle mistake
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-07 12:03:51 +00:00
Christian Richter 47b8610f70 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18192 65c4cc65-6c06-0410-ace0-fbb531ad65f3 2006-04-07 09:46:38 +00:00
Christian Richter 7788d5061c fixed a bridging-endless-loop also fixed the rdnis is not exported issue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-07 09:31:27 +00:00
Christian Richter 7028946605 some final fixes for cpn
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 15:54:15 +00:00
Christian Richter ce8fc47ffc * advanced the error Handling routine for wrong frames from mISDN
* added more code for connected party number handling
* fixed the portinfo program, it can now be used to test mISDN again



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 14:51:48 +00:00
Christian Richter d7a839a299 fixed some essential segfaults happening under heavy load. Added a bit more error handling if we receive wrong data form mISDN (e.g. if we crashed before => handle_err() ). Added first steps to implement the parseing of the connected party number.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-04 19:09:26 +00:00
Christian Richter a096fbd87d * removed unneeded bc->state field
* added statefullness for bchannel activation/deactivation
* fixed a lot PCM bridging issues
* some debugging logs are now on a higher loglevel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-03 19:17:59 +00:00
Matt O'Gorman a5ece3388a Janitor work converting !ast_strlen_zero(a)?a:b
to S_OR functions. from bug note 6805 with minor
modifications.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-27 19:31:54 +00:00