Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

CallerID i jos ponesto

[es] :: .NET :: CallerID i jos ponesto

[ Pregleda: 2296 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

veljkoz
Veljko Zrnic
Beograd

Član broj: 17414
Poruke: 17
*.dialup.sezampro.yu.



Profil

icon CallerID i jos ponesto22.10.2005. u 18:33 - pre 225 meseci
Kako da iz VB.NET dobijem CallerID od modema?
Takodje, treba mi da mogu da zabelezim RING START, RING STOP, da li se javio na telefon (preko obicnog telefona), i sl... pretpostavljam da se javi neki event koji onda razresavam u mojoj metodi, ali ne znam kako da ga 'uhvatim'?

Nasao sam na netu neke stvari, ali nijedna mi nije odradila posao
Do sad sam shvatio da postoje dve 'metode': koriscenjem nekog TAPI dll-a, ili komunikacijom sa Comm port-om (MSCOMM.DLL, ili sl.). Ni jedan ni drugi nisam uspeo da iskoristim kako treba.


Na forumu je Boki pisao da radi na tako necemu, pa bih ga zamolio, ako je to gotovo da bacim pogled...

Ako ne - help!
 
Odgovor na temu

boki
Boris Prpic
CTO
CodeZen, Cityexpert
Beograd

SuperModerator
Član broj: 2681
Poruke: 2442
*.vdial.verat.net.

Jabber: boki@elitesecurity.org
ICQ: 195245022
Sajt: www.goglasi.com


+34 Profil

icon Re: CallerID i jos ponesto22.10.2005. u 22:23 - pre 225 meseci
Ja sam radio slicnu aplikaciju samo za ISDN. Isto sam imao 2 mogucnosti: CAPI(TAPI za ISDN) ili COM port pa komuniciraj. Posto NedMod (telekomov ISDN terminal) ima silnih problema sa CAPI-jem to elegantnije resenje je palo u vodu. Gledao sam source vec napisanog slicnog programa (NetModCLIP) i iz njega sam izvukao AT komande. Ako oces mogu za koji dan da ti dam deo mog source-a zaduzenog za taj deo pa se nadam da ces shvatiti kako da se odradi...
 
Odgovor na temu

veljkoz
Veljko Zrnic
Beograd

Član broj: 17414
Poruke: 17
*.34.EUnet.yu.



Profil

icon Re: CallerID i jos ponesto23.10.2005. u 00:09 - pre 225 meseci
Uh, to bi mi mnogo pomoglo! Mozes da posaljes na [email protected]

Hvala unapred!

Edit: Nasao sam na netu http://www.yes-tele.com/vb.html , i tu je ok odradjeno komunikacija sa COM portom, ali komunicira sa njihovim uredjajem koji prodaju, tako da ne znam koliko to moze da posluzi za komunikaciju sa modemom... znam da ovakav kakav je - ne radi, jer salje pogresne komande, i pogresno tumaci ono sto je pristiglo od modema (to sam i ocekivao)

[Ovu poruku je menjao veljkoz dana 23.10.2005. u 01:13 GMT+1]
 
Odgovor na temu

boki
Boris Prpic
CTO
CodeZen, Cityexpert
Beograd

SuperModerator
Član broj: 2681
Poruke: 2442
*.COOL.ADSL.VLine.verat.net.

Jabber: boki@elitesecurity.org
ICQ: 195245022
Sajt: www.goglasi.com


+34 Profil

icon Re: CallerID i jos ponesto25.10.2005. u 20:14 - pre 224 meseci
Evo ga :

Code:

Public Sub CidDisable()
        On Error GoTo CommErrorMain
        Instring1 = ""
        cmdEnable.Enabled = False
        CidStatus = "Disableing"
        If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
        MSComm1.Output = "ATZ0S82=74" & vbCr
        '            mnuEnable.Enabled = True
        '            mnuDisable.Enabled = False
        AddToLog("Disableing...")
        Timer1.Enabled = True
        Exit Sub
CommErrorMain:
        CommError(Err.Number)
    End Sub

    Public Sub CidEnable()
        On Error GoTo CommErrorMain
            cmdEnable.Enabled = False
            Instring1 = ""
            CidStatus = "Enableing"
            MSComm1.CommPort = Port
            If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
            MSComm1.Output = "ATZ0S82=76S42=3" & vbCr

            '        mnuEnable.Enabled = False
            '        mnuDisable.Enabled = True
            AddToLog("Enableing...")
            Timer1.Enabled = True

        Exit Sub
CommErrorMain:
        CommError(Err.Number)
    End Sub

    Public Sub CommError(ByVal errortohandle As Integer)
        Select Case errortohandle
            Case 0 : Resume Next
            Case 20 : Resume Next
            Case 8002
                cmdEnable.Enabled = True
                MsgBox("The Comm port" & Port & " does not exist", vbCritical)
                CidStatus = "Disabled"
                AddToLog("Disabled")
                Exit Sub
            Case 8005
                cmdEnable.Enabled = True
                MsgBox("The Comm port " & Port & " is in use.", vbCritical)
                CidStatus = "Disabled"
                AddToLog("Disabled")
                '    Exit Sub
            Case 8012
                MsgBox("netMod is in use.")
                cmdEnable.Enabled = True
                If MyBase.WindowState = vbNormal Then cmdEnable.Focus()
                CidStatus = "Disabled"
                AddToLog("Disabled")
                Exit Sub
                ' DODATI ZA AUTO ENABLE
            Case Else
                MsgBox("ERROR " & Err.Number & " : " & Err.Description, vbCritical)
                Exit Sub
        End Select
    End Sub

    Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
        Times = Times + 1
        Instring = Instring & MSComm1.Input
        If Times = 4 Then
            MSComm1.PortOpen = False
            Timer1.Enabled = False
            cmdEnable.Enabled = True
            Times = 0
            If CidStatus = "Enableing" Then
                AddToLog("Greska pri Enable-ovanju")
                CidStatus = "Disabled"
                '  mnuEnable.Enabled = True
                '  mnuDisable.Enabled = False
            ElseIf CidStatus = "Disabling" Then
                AddToLog("Greska pri Disable-ovanju")
                CidStatus = "Enabled"
                ' mnuEnable.Enabled = False
                ' mnuDisable.Enabled = True
            Else
                AddToLog("Neka Greska")
            End If
            Exit Sub
        End If
        If InStr(Instring, "OK") Then
            AddToLog(Mid(Instring, InStr(Instring, "OK"), 2))
            If CidStatus = "Enableing" Then
                CidStatus = "Enabled"
                cmdEnable.Text = "Disable"
            End If
            If CidStatus = "Disableing" Then
                CidStatus = "Disabled"
                cmdEnable.Text = "Enable"
                MSComm1.PortOpen = False
            End If
            Timer1.Enabled = False
            Instring = ""
            Times = 0
            cmdEnable.Enabled = True
        End If
    End Sub

    Dim brojRingova As Integer
    Private Sub Timer2_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer2.Elapsed
        If CidStatus <> "Enabled" Then Exit Sub
        Instring1 = MSComm1.Input
        '  AddToLog("'" & Instring1 & "'")
        '   AddToLog("Instring = " & Instring1)
        Do While InStr(Instring1, vbCrLf) > 0 And Len(Instring1) > 2
            If InStr(Instring1, vbCrLf) = 1 Then Instring1 = Mid(Instring1, 3)
            If InStr(Instring1, vbCrLf) = 0 Then Instring1 = Instring1 & vbCrLf
            Line = Mid(Instring1, 1, InStr(Instring1, vbCrLf) - 1)
            If InStr(Line, "RING") Then
                If InStr(Line, ";") Then
                    'STA KAD ZVONI PRVI PUT
                    SNumber = Mid(Line, InStr(Line, " ") + 1, InStr(Line, ";") - InStr(Line, " ") - 1)
                    PhoneNumber = Mid(Line, InStr(Line, ";") + 1)
                    brojRingova = 1
                    AddToLog("Incoming: " & phBook.NadjiKoJe(PhoneNumber, 1) & " (" & PhoneNumber & ")" & " Line: " & SNumber)
                Else
                    ' SAMO ZVONI - NEKI VIZUELNI EFEKAT
                    'AddToLog("ringg")
                    brojRingova = brojRingova + 1
                End If
            End If
            If InStr(Line, "NO CARRIER") Then
                'PREKID
                'AddToLog("Prekinuto")
                lstMissed.Items.Add(phBook.NadjiKoJe(PhoneNumber, 1) & " (" & PhoneNumber & ")" & " Line: " & SNumber & " Rings: " & brojRingova)
                ' phBook.DodajMissedUdb(PhoneNumber, SNumber, brojRingova)
                brojRingova = 0
            End If
            Instring1 = Mid(Instring1, Len(Line) + 1)
            Line = ""
        Loop
        Instring1 = ""
        Timer2.Enabled = False
        Timer3.Enabled = False
        Timer3.Enabled = True
    End Sub

    Private Sub Timer3_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer3.Elapsed
        Timer2.Enabled = True
        Timer3.Enabled = False
    End Sub

    Private Sub MSComm1_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSComm1.OnComm
        Timer2.Enabled = True
    End Sub

 
Odgovor na temu

veljkoz
Veljko Zrnic
Beograd

Član broj: 17414
Poruke: 17
*.81.EUnet.yu.



Profil

icon Re: CallerID i jos ponesto28.10.2005. u 14:58 - pre 224 meseci
Nisam bas shvatio cemu sluze sva tri tajmera, ali mi je jasna ideja. (jedan valjda za prepoznavanje kada se modem zaglavi, jedan za ispitivanje stanja, a treci - ? no, nije ni bitno).

Medjutim, moj modem izgleda nista ne registruje :( (ne samo CallerID, nego ne prepoznaje ni RING, sto mi je malo cudno). Na osnovu ove tvoje verzije, napravio sam svoju cisto za testiranje. Ako nekog zanima moze da se iskoristi za svo testiranje vezano za COMM port.
Source code:
[url]http://solair.eunet.yu/~zrnicv/CallerIDTesting.zip[/url]
ako neko hoce da isproba, bio bih zahvalan da javi da li modem salje jos nesto osim <echo komande> + OK.

Da li na ovaj nacin mogu da detektujem koji broj se poziva (preko obicnog telefona), da li je i kada neko digao slusalicu da se javi na poziv, i sl?
 
Odgovor na temu

boki
Boris Prpic
CTO
CodeZen, Cityexpert
Beograd

SuperModerator
Član broj: 2681
Poruke: 2442
*.COOL.ADSL.VLine.verat.net.

Jabber: boki@elitesecurity.org
ICQ: 195245022
Sajt: www.goglasi.com


+34 Profil

icon Re: CallerID i jos ponesto28.10.2005. u 21:25 - pre 224 meseci
To je prepisano dobrim delom iz NetModCLIP-a tako da nisam ni ja bas siguran zasto je moralo bas tako.
Prvi timer opali kada otvaras vezu sa Netmod-om i posle nekog vremena gleda da li je veza uspostavljena. Ako nije opali gresku.

Drugi opali kad stizu neki podaci od NetMod-a.

Treci timer je neko moje budzenje al nisam siguran zasto. Znam da je bilo nekih time-out-a i da je nekada trebalo vise vremena.
 
Odgovor na temu

[es] :: .NET :: CallerID i jos ponesto

[ Pregleda: 2296 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.