Get The Exact Call Duration Of Outgoing Calls From A PBX?
Feb 29, 2012
Recently I've been into PBX call accounting programming on VB.Net 2010. My results are way too successful including friendly user-interface and connection datareceiving coding. Except for one. That is the call duration of calls, incoming and especially those outgoing. In my project I didn't use any API (like TAPI for PBXs) thus is there any option how to detect the state of the outgoing call, whether is still ringing, ended without answer or answer at some point of time...because in my project nevertheless what call state is being processed, I'm getting the total call duration from the moment that call was initiated to the moment is being finished or not-answered.
Here is a sample of my project where the DataReceived event is fired whenever there's something to parse from PBX to the PC.
Programming language : Visual Studio 2010 Ultimate - Visual Basic .Net
Database : Microsoft SQL Database
PBX Machine : Panasonic KX-TEM824
P.s. If you need to provide some code I'll post a sample of my project where the DataReceived Event is being handled.
In our VB6 applications, we added a few utility functions for tracking the amount of time spent in a function. We did this to track performance bottlenecks. Basically, how it worked was there were two utility functions: StartTickCount() and EndTickCount().
You would pass the name of the function in each, and the functions would use a dictionary to get the tick count when StartTickCount() was called, and then subtract the tick count when EndTickCount() was called. This wasn't perfect because it didn't of course take into consideration that calls to get tick count takes time, etc, but basically it worked for our purposes. How to make sure to call StartTickCount() at the beginning of each function and EndTickCount() at each exit point:
Private Function SomeFuction() as String ' indicate the function started StartTickCount("MyClass.SomeFunction") ' some logic that causes the function to end [Code] .....
Anyway, is there any functionality built in, either through the VS 2010 debugger or in the System.Reflection namespace, to do something similar in VB.NET? Basically, what I want is to log the number of times each function is called, the total amount to time spent in that function, the average number of seconds spent in that function, and the maximum amount of time spent in a single call in that function.
Details : I have the MultiModem (MT5656ZDX) . I wrote visual basic application for making the call using 'MakeCallAsynch(txtPhoneNumber.Text)' function. Also i have the callback event handler for get the line status and write the log. But my tapi call is not going the status except DAILING,PROCEDING,CONNECTED,DISCONNECTED and IDLE. Its not showing the line busy, phone swithed off status. Please guide me regarding this.
My event handler
Friend Sub LineProcHandler(ByVal hDevice As Long, _ ByVal dwMsg As Long, _ ByVal dwParam1 As Long, _
I have the MultiModem (MT5656ZDX) . I wrote visual basic application for making the call using 'MakeCallAsynch(txtPhoneNumber.Text)' function. Also i have the callback event handler for get the line status and write the log. But my tapi call is not going the status except DAILING,PROCEDING,CONNECTED,DISCONNECTED and IDLE.
Its not showing the line busy, phone swithed off status. Please guide me regarding this.
What the Win32 API is? I have looked around but no where really outlines what it is. Is it basically a set of procedures, outlined by Microsoft for programmers in order to get services from the operating system? In essence is it the equivalent to making system calls abd and library calls in UNIX? And yes I now Windows makes library calls too.
I have been using DBTransaction for my current projects that access a single database. However, I read some documentation on TransactionScope and was wondering in which scenario would using TransactionScope be better? Or should I be replacing DbTransaction calls with calls to TransactionScope?
m new in Visual Basic programming, recently I have developed an application to send and receive UDP packets using the Socket Class. Everything is working ok, but there is one more thing I have to acomplish, which is specify the outgoing UDP port for outgoing packets (SendTo method), I need to do that because the application in the other side just process packets from an specific UDP port at the origin
Is there a way I could block connections to an IP address (Incomming and Outgoing) in visual basic 2008? I have a different method, using the windows hosts file. I could make it redirect, but on the host file, could I make it launch a certain application when it blocks an IP. Like, launch a file called blocked.html that says "Webpage blocked" on it? and if u get this far, how can I see when an app attempts to connect to the internet. Like on bit defender firewall, say aim6.exe trys to connect to a server, how could i warn the user of this???? (Maybe using winsock)
It doesn't look like much is out there after searching but I was wondering if anyone has seen any vb.net projects to create a simple outgoing telephone dialer? Maybe something that can talk to a PC modem?
I'm not sure but was even wondering if this is something that can be done in a procedure? Doesn't look like there are any features that lend itself to it.
I thought also, I may do something with an RS232 stream and then use an external hardware dialer.....if I did that, I'm sure I could do the code in a Sub.
Is there a way I could block connections to an IP address (Incoming and Outgoing) in Visual C+/C#/C???
I have a different method, using the windows hosts file. I could make it redirect, but on the host file, could I make it launch a certain application when it blocks an IP. Like, launch a file called blocked.html that says "Webpage blocked" on it? [code]...
how can i create a video duration bar so that if i add a video in listbox the duration bar should automatically increas its total duration and display the duration on it....just like in any video editing software...
We have create a VB.NET app (exe) that is called by our non-vb.net software app.The .NET app is a Windows Application module. The only form presented on it is when users are previewing a Crystal Report.Otherwise, we are just executing code from the module. What we want to do is set the cursor to an hourglass from the moment our vb.net app(exe) is executed until it has closed.I have tried entering Cursor.Current = Cursors.Wait as the first line in the code, then Cursor.Current = Cursors.Default just before exiting the Main subroutine. But, this does not work.
How can I control the cursor on, essentially, a non-form vb.net application?
according to the formula given by DdoubleD i resolve DSS audio file duration problem, but this time some dss file is more compressed and duration of these file different according to size of file. IS there is any technique in .net 2005 so that i can include any third party's player and find duration and other thing I tried to include DLL of these player but not compatible with .net..DSS file is basically dictation by doctor(olympus recorder is use to record dictation and it save these file in .dss format) I already included WMP.dll for MP3. But .dss is creating problem.
A simple class that plays a tone of varying ampliture, frequency and duration through the PC's speakers:
Imports System.IO Imports System.Media Public Class Form1 Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Beep.Beep(1000, 1000, 1000)
This class uses SoundPlayer.PlaySync which has a 4 MB stream length limit, so the longest duration is 24000 milliseconds. You can try SoundPlayer.Play for longer durations, but allow plenty of time for it to complete.
I have created my own application for organising my video library. when the application starts a datagridview displays all of the videos in my database. i can't get it to display the duration of each video. i assumed i'd be able to loop through each row in the datagridview and use the FileInfo class to look up the properties of each file and get the duration from there because if you look at the properties of any .avi and then click on Details you can see the duration of the video but i can't figure it out.
I have an MDI form in VB.nEt where I have to find, if the application remains idle for 20 mins, I got to log off the logged in user. On doing RnD, I found a class that helps us do the same :- http://blog.perfectapi.com/2008/05/detecting-idle-state-in-winforms-apps/
I saved that class in my applicaiton. In my mdi form's Form Load created an instance of that class. Now I don't know how to move ahead i.e. how to find that 20 min lastActivity duration. I belive I got to trap some evcent in my mdi form and find the value of lastActivity and if that is >= 20, then logoff. But which event to trap and how, I have no clue. In the events for the from also, I didn't found any useful.
I have been searching around and trying to figure out how to get media, specifically videos, length/duration.I know that you can use the Windows Media Player object to achieve this, however, I need to get the duration of some media that is not supported by windows media player.I am developing my own media player in VS 2010 that will be utilizing the VLC media player component since VLC is able to play most (if not all) media formats. So far I have tried playing around with "My.Computer.FileSystem.GetFileInfo("path").length" but all this gets is the media's length in Bytes. What I am trying to achieve is the format of hh:mm:ss for pretty much every format, not just Windows Media Formats, but real media, .mkv, etc.
I need to show the tooltips over a datagridview cell and that is currently achived using the tooltiptext of the datagridview cell property. I just need to increase the default duration of time that is tooltip is visible
I've found solutions to determine the length of an audio file using WMPLib.WindowsMediaPlayer (which seems quite ugly), by using a physical file path, but nothing to determine the duration of an audio file stored in a VARBINARY field (SQL Server 2008 R2).I'm using .Net WebForms. Maybe it'd be a better idea to do this client side with jQuery, but what if I only want to expose some controls to the web browser based off of the duration?
I made an mp3 player for fun, and I want to add a box that shows the current time of the song and will continuously update every second while playing. I wrote a do loop that while the song is playing will get the current time put it into a listbox or textbox, then sleep for 1 second and then loop again. Using a textbox it will put the first time in, using a listbox while the song is playing the vertical scroll bar keeps shrinking so it seems as if it is putting all of the times there but I don't see anything at all but a blank listbox.
I need to find the duration of a video file. I am not talking about this. LenOfVideo = AxWindowsMediaPlayer1.currentMedia.durationThis will give the duration of a video when it is playing, I want to know the duration of ALL the video's in my List of video's so i can display it in the selection for the user. The currentmedia.duration will only give the duration when you play it and i have about a 100 media clips to play..
I want a proper hh:mm:ss formatted duration, but I cant seem to get it right. I have ran through a good dozen attempts and things just arent working.
timer Public dtStartTime As DateTime Public tsElapseTime As TimeSpan Public Sub tmrStartTime()
Calling tmrStartTime sets the start of the timer, and tmrGetTimeSpan should report back the proper hh:mm:ss. For example, 11 elapsed seconds should look like 00:00:11, or 65 elapsed seconds should look like 00:01:05.
Is there anyway to get the exact time. I know 'Now' Commands get the system time but the system time is not exact to real time, is there way of returning a value from a webpage, even using a webbrowser.
Of course, the Graphics.MeasureString method is well-known to have padding problems, and so you use Graphics.MeasureCharacterRanges instead, but as you can see here:It's not measuring quite correctly. Is this a problem with MeasureCharacterRanges or is it my code? How can I fix it? [code]