Récupérer les infos téléphones (CallerID) de FREE ?

Programmation de Homeseer : VBScript, ASP, .Net. Tout pour réussir l'automatisation de votre maison

Récupérer les infos téléphones (CallerID) de FREE ?

Messagede vvince » 11 Sep 2009, 10:04

Bonjour Ă  tous,

tout à mon installation de domotique, je me demandais s'il y avait un moyen quelconque de récupérer les numéros de téléphones appelant sur ma ligne free.fr

Vu qu'un modem analogique ne fonctionne pas avec, j'avoue ne pas trop savoir si c'est possible. (et mon ami google n'a rien donné :( mais peut-etre ais-je mal cherché)

si qqun a déjà fait ça

Merci
vvince
Modérateur
 
Messages: 568
Inscription: 08 Fév 2004, 16:52
Localisation: Banlieue parisienne (92 sud)

Publicité

La publicité est nécessaire car elle permet de pérenniser ce site, son hébergement, ses contributions ... Vous pouvez aussi faire un don pour le soutenir (cliquez sur ce texte). Pensez aux revues que vous économisez en lisant régulièrement Touteladomotique.com ...

Publicité
 

Messagede DJMaboul » 11 Sep 2009, 11:49

Si c'est possible je le fait avec le plugin SIP.

je dirige ma ligne free vers le SIP homeseer est connecté au SIP de free via le plugin SIP.

Quand je recois un appel 2 cas :

on est présent : Annonce du nom de la personne et si pas répertorier annonce du numero de téléphone (2fois de suite) ensuite le plugin ce reset de lui même ce qui coupe la connection SIP et la free à bien fait les choses car ca renvois l'appel sur le ligne Fixe de la freebox donc mon téléphone ce met à sonner. C'est complétement transparent pour la personne qui appel.

on est pas présent : Je stock le nom de la personne ou son numero de téléphone et l'heure de son appel.

Quand on rentre annonce des appels recu.
Serveur
Microsoft Win7 32bit, Apache, PHP, Mysql, Juliette AT&T
Intel Dual Core 2.6Mhz, 2Go Ram, 300Go
Homeseer 2.4.0.6, PLCBUS, 1-Wire(USB), SIP, HSFlash, RFXCOM, Nabaztag tag
Avatar de l’utilisateur
DJMaboul
Dieu de domotique
 
Messages: 515
Inscription: 09 Sep 2007, 07:24
Localisation: Tours

Messagede DaRkYoda » 11 Sep 2009, 11:56

DJMaboul a écrit:Si c'est possible je le fait avec le plugin SIP.


Salut DJ,

Tu pourrais décrire un peu tes fichiers de config ?

Merci,

A++
-
Ma boutique de produits domotique : http://www.planete-domotique.com

Chez moi : RFXCom - Météo WMR928 Oregon - GR101 - X10
Zwave - Téléinfo EDF - Freebox HD
ROOMBA 560 - Box eeDomus
Avatar de l’utilisateur
DaRkYoda
Dieu de domotique
 
Messages: 1244
Inscription: 22 Déc 2006, 18:15
Localisation: Clermont-Fd

Messagede cedriclocqueneux » 11 Sep 2009, 11:57

Euh, pour ma part, la ligne de téléphone qui sort de la Freebox est branchée sur le modem du pc, et je récupère bien le callerid quand on m'appelle !
Avatar de l’utilisateur
cedriclocqueneux
Dieu de domotique
 
Messages: 1494
Inscription: 02 Jan 2007, 22:18
Localisation: Chaon (Loire et Cher)

Messagede DJMaboul » 12 Sep 2009, 07:10

voila le fichier sip_incoming.vb qui est lancé par le plugin SIP de stipus lors d'un appel téléphonique.

Code: Tout sélectionner
Imports HSPI_SIP


' -----------------------------------------------------------------------
'APPEL ENTRANT
'Trouver le contact dans la liste des contacts HS Téléphone
'Refuser l'appel si l'appelant est marqué comme appelant indésirables
'Sinon, acceptez l'appel.
' -----------------------------------------------------------------------

Sub IncomingCall( ByVal newCall as SipCall )

  FindHsPhoneContact( newCall )
  Dim contact as clsContact = newCall.GetContext( "incoming_hs_contact" )

  If Not contact Is Nothing Then
    If ( contact.cidflags AND 1 ) > 0 Then
      newCall.Reject()
      Exit Sub
    End If
  End If

  newCall.Accept()
End Sub


' -----------------------------------------------------------------------
'SONNERIE DE RAPPEL
'Est appelée quand l'appel a été accepté
'Annonce le contact appelant Ă  travers les enceintes Homeseer
'Répond à l'appel après le nombre choisi de bagues eu lieu
' -----------------------------------------------------------------------


Sub Ringing( ByVal newCall as SipCall )
   Dim contact as clsContact = newCall.GetContext( "incoming_hs_contact" )
   Dim fromString as String = newCall.GetContext( "incoming_hs_contact_from" )
   Dim answerRings as Integer = 2
   Dim numero_tel = newCall.RemoteAddress
   Dim nn as Integer = 0
   Dim n2 as Integer = 0
   Dim numero_tel2
   Dim heure
   Dim min
   Dim Time0
   Dim Time01
   Dim Time1
   Dim Time2
   Dim appel

 

   ' ACTIVE L ECRANS TACTILE
   Dim path5
   path5 = hs.GetAppPath & "\Scripts\ecran\nircmd.exe"
   hs.Launch (path5, "monitor on")



   hs.SetVolumeEx ("100")

   Time0 = DateTime.Now
   Time1 = Split(Time0, " ")
   Time2 = Split(Time1(1), ":")
   
   ' Correction des heures
   if (Time2(0) = 00) Then
      heure = "minuit "
   elseif (Time2(0) >= 1) And (Time2(0) < 10) Then
      Time0 = Split(Time2(0), "0")
      heure = Time0(1) & " heures "
   else
      heure = Time2(0) & " heures "
   End if
   
   ' Correction des minutes
   if (Time2(1) = 00) Then
      min = ""
   elseif (Time2(1) >= 1) And (Time2(1) < 10) Then
      Time01 = Split(Time2(1), "0")
      min = Time01(1)
   else
      min = Time2(1)
   End if
   

   ' Si le contact n'est pas connu
   If contact Is Nothing Then
      while nn <= 9
         numero_tel = replace(numero_tel, nn , nn & ".")
         nn = nn + 1
      End While
     
      numero_tel2 = split(numero_tel, ".")
     
      nn=0
      numero_tel = ""
      while nn <= 9
         numero_tel = numero_tel & numero_tel2(nn)
         n2 = n2 + 1
         nn = nn + 1
         If n2 = 2 Then
           n2 = 0
           numero_tel = numero_tel & " "
         End If
      End While

      'Permet de faire changer le status de Z40 et l'envoie vers l ecrans tactile
      hs.SetDeviceString ( "Z40", "Quelqu'un appelle via le " & numero_tel )
      hs.ExecX10 ("Z40", "Off")
      hs.speak("Quelqu'un appelle via le " & numero_tel)
   
      appel = " Un Appel du numero " & numero_tel & " Ă  " & heure & min & ", "

   Else

      ' RĂ©ception d un appel masquĂ©
      If ( contact.cidflags AND 2 ) > 0 Then
         If (contact.FIRST = "anonymous") Then
            'Permet de faire changer le status de Z40 et l'envoie vers l ecrans tactile
            hs.speak ( "Appel en cours d'un numĂ©ro masquĂ© !")
            hs.SetDeviceString ( "Z40", "Appel en cours d'un numĂ©ro masquĂ© !" )
            hs.ExecX10 ("Z40", "Off")
            appel = " Un Appel d'un numero masquĂ© Ă  " & heure & min & ", "
         else
            'Permet de faire changer le status de Z40 et l'envoie vers l ecrans tactile
            hs.speak( contact.FIRST & ", " & contact.LAST & " appelle de " & fromString )
            appel = " Un Appel de " & contact.FIRST & " " & contact.LAST & " Ă  " & heure & min & ", "
            hs.SetDeviceString ("Z40", contact.FIRST & ", " & contact.LAST & " appelle de " & fromString )
            hs.ExecX10 ("Z40", "Off")
         End if
      End If
   End If   

   If Not Contact Is Nothing Then
   '   answerRings = contact.answer_rings_count
   End If

   If newCall.RingCount >= answerRings Then

      ' Si pas de prĂ©sence dans la maison ou maison en mode veille on mĂ©morise l appel     
      If (hs.deviceString("Z30") = "STOP") Then
         appel = hs.GetVar("SIP_appel") & appel
         hs.SaveVar ("SIP_appel", appel)
      End If
     
      'Coupe la connexion SIP DĂ©asctive le plugin
      hs.SaveIniSetting("LINE FREEPHONIE", "Enabled", "False", "hspi_sip.ini")
      hs.plugin( "SIP Connector" ).ReloadConfig()
     
      'Reconnecte la connexion SIP RĂ©active le plugin
      hs.SaveIniSetting("LINE FREEPHONIE", "Enabled", "True", "hspi_sip.ini")
      hs.plugin( "SIP Connector" ).ReloadConfig()
      hs.SetDeviceString ("Z40", "aucun")
      hs.ExecX10 ("Z40", "On")

   End If
End Sub


' -----------------------------------------------------------------------
' Fin de l'appel
' -----------------------------------------------------------------------

Sub CallHungup( ByVal c as SipCall )
   'On change le statut de Z40 pour dĂ©sactivĂ© l affichage de l appel sur l ecran tactile
   hs.SetDeviceString ("Z40", "aucun")
   hs.ExecX10 ("Z40", "On")
End Sub


' -----------------------------------------------------------------------
' HELPER SUBROUTINE
' Trouve dans HomeSeer le numéro de téléphone de caller_id
' -----------------------------------------------------------------------

Sub FindHsPhoneContact( ByVal newcall as SipCall )
  Dim contact as clsContact
  Dim contactCount as Integer = hsp.ADRCount()
  Dim fromString as String = ""
  Dim i as Integer = 1
  Dim callerId as String = newcall.RemoteAddress

  While i <= contactCount AND fromString = ""
    Contact = hsp.ADRGet( i )

    If callerId = contact.home_phone or callerId = contact.home_phone_2 Then
      fromString = "sa ligne fixe"
    Else
      If callerId = contact.cell_phone or callerId = contact.cell_phone_2 Then
        fromString = "son portable"
      Else
        If callerId = contact.business_phone or callerId = contact.business_phone_2 Then
          fromString = "son travail"
        End If
      End If
    End If

    i = i + 1
  End While

  If fromString <> "" Then
    newCall.SetContext( "incoming_hs_contact", contact )
    newCall.SetContext( "incoming_hs_contact_from", fromString )
  End If
End Sub




et une partie du code MS13.txt

Code: Tout sélectionner
'########## ACTIVE LA MAISON SI IL Y A UNE DETECTION DE PRESENCE#########

   If hs.deviceString("Z30") = "STOP" Then
      If (strDevice = "E7" OR strDevice = "E5" OR strDevice = "E3") And (strEtat = "on") then
         hs.SetDeviceString "Z30", "ACTIVE"         
         lib_speak "Bienvenu ! a la maison !","",""

            if (hs.GetVar("SIP_appel") <> "") Then
               lib_speak "Vous avez reçu " & hs.GetVar("SIP_appel"), "", ""
               hs.SaveVar "SIP_appel", ""
            End If
            
      End If
   End If

Serveur
Microsoft Win7 32bit, Apache, PHP, Mysql, Juliette AT&T
Intel Dual Core 2.6Mhz, 2Go Ram, 300Go
Homeseer 2.4.0.6, PLCBUS, 1-Wire(USB), SIP, HSFlash, RFXCOM, Nabaztag tag
Avatar de l’utilisateur
DJMaboul
Dieu de domotique
 
Messages: 515
Inscription: 09 Sep 2007, 07:24
Localisation: Tours

Messagede fdaubercy » 27 Sep 2009, 22:33

Est ce que l'un d'entre vous pourrait expliquer comment paramatrer le plugin SIP Connector SVP
Comment rediriger le SIP de freephonie vers homeseer.
Voici mes logs
--------------------------------------------------------------------------------
27/09/2009 22:28:26 - SIP Debug - SIP Connector: Debug Mode activated. Waiting 0 secs...
27/09/2009 22:28:31 - SIP Debug - SIP Connector: ReInitializing SipxTapi. Primary identity= TcpPort=5060 UdpPort=5060 TlsPort=5061 RtpPortStart=9000 BindAddress=192.168.0.2 UseSequentialPorts=False
27/09/2009 22:28:36 - SIP Debug - SIP Connector: Setting Audio Codecs to: PCMA PCMU
27/09/2009 22:28:36 - SIP Debug - SIP Connector: Adding NAT KeepAlive NatKeepAliveIp=0.0.0.0 NatKeepALivePort=5060 NatKeepAliveSec=35 NatKeepAliveType=0
27/09/2009 22:28:36 - SIP Debug - SIP Connector: Configuring register expiration to 3600 secs.
27/09/2009 22:28:36 - SIP Debug - SIP Connector: Enabling ICE.
27/09/2009 22:28:36 - SIP Debug - SIP Connector: Enabling STUN. StunServer=stun.counterpath.net StunPort=3478 StunKeepAliveSec=28
27/09/2009 22:28:39 - SIP Debug - SIP Connector: ContactId=1 Type=Local TransportType=udp Interface={09C005DD-ACC4-4076-A206-817798558AA8} Ip=192.168.0.2 Port=5060
27/09/2009 22:28:39 - SIP Debug - SIP Connector: Creating new line Daubercy Frederic. LocalContactId=0
27/09/2009 22:28:39 - SIP Debug - SIP Connector: Setting-up line Daubercy Frederic credentials. AuthUserName=0952211739 AuthDomain=freephonie.net
27/09/2009 22:28:39 - SIP Debug - SIP#Daubercy Frederic: Registering Daubercy Frédéric <sip:0952211739@freephonie.net>. LocalContactId=0
27/09/2009 22:28:44 - SIP Debug - SIP Connector: Adding 10s NAT keepalive to freephonie.net
27/09/2009 22:28:44 - SIP Debug - SIP Connector: Ready
-----------------------------------------------------------------------------------
Intel Pentium4 2.4GHz+512 Mo RAM DD160Mo et 80Mo
HS2+ACRF2+USBUIRT
X10:1*CM11-USB,6*AM12,2*LM15,2*LM12,UM7206,1*SC9000,1*MS13,2*DS90
6 sondes thermo/hygro oregon
6 electrovannes sur carte relai IP pour PAC
gestion des heures creuses par UM7206
Avatar de l’utilisateur
fdaubercy
P'tit Guru de domotique
 
Messages: 95
Inscription: 20 Fév 2007, 14:51
Localisation: Nord

Messagede DJMaboul » 28 Sep 2009, 07:32

bon déjà sur le site de free dans ton portail/téléphonie tu dois coché la case activé le SIP et cliqué sur "Rediriger les appels entrants vers le compte SIP".

pour la config du plugin SIP :

dans Settings

coche Scripts
Tcp port 5060
Udp port 5060
Tls port 5061
Rtp port start 9000
Bind adress 0.0.0.0

register expiration 3600

DTMF Send out-of-band DMTF coché
Receive in band DMTF coché

Coche Use the SIP REFER method

Coche PCMA / G711A
Coche PCMU / G711U


Dans SIP Accounts

Coche Enabale
Incoming Script c'est le nom du script executé lors d'un appel (moi sip_incoming.vb)

Display Name : 09xxxxxxxx
User name : 09xxxxxx
Domaine realm : freephonie.net
Proxy server : rien
Loacl contact ID : 0

Coche Enable authentification
Auth user name : 09xxxxxxxx
Ayth Password : ton mot de pass SIP


Attention entre l'activation sur Free du SIP et que ca marche il y a defois un peu de temps (1h Ă  24h)
Serveur
Microsoft Win7 32bit, Apache, PHP, Mysql, Juliette AT&T
Intel Dual Core 2.6Mhz, 2Go Ram, 300Go
Homeseer 2.4.0.6, PLCBUS, 1-Wire(USB), SIP, HSFlash, RFXCOM, Nabaztag tag
Avatar de l’utilisateur
DJMaboul
Dieu de domotique
 
Messages: 515
Inscription: 09 Sep 2007, 07:24
Localisation: Tours

Messagede fdaubercy » 28 Sep 2009, 18:13

merci ca marche.
Seulemnt si je met un numero ds mes contact et que ce numero m'apelle, mon telephone SIP ou telephone fixe ne sonne pas
Si un numero absent des contact des hs phone m'apelle, le telephone fixe sonne
J'aimerai adapter le script sip_incoming.vb pour mon instal.
Donc quel est le langage utiliser? vb.net?
Comment apprendre?
Ya t il des tuto ou cours sur le net?
Intel Pentium4 2.4GHz+512 Mo RAM DD160Mo et 80Mo
HS2+ACRF2+USBUIRT
X10:1*CM11-USB,6*AM12,2*LM15,2*LM12,UM7206,1*SC9000,1*MS13,2*DS90
6 sondes thermo/hygro oregon
6 electrovannes sur carte relai IP pour PAC
gestion des heures creuses par UM7206
Avatar de l’utilisateur
fdaubercy
P'tit Guru de domotique
 
Messages: 95
Inscription: 20 Fév 2007, 14:51
Localisation: Nord

Messagede vvince » 29 Sep 2009, 09:33

merci pour toutes vos réponses

mes remarques : si j'active le SIP, je n'ai plus de téléphone fixe qui sonne... donc pas gérable

si je branche la ligne FREE sur le modem, ça déconne, mais il est vrai que j'ai un vieux US robotics, enfin, ça faisait ça il y a longtemps sous windows 2000

il faudrait que je réessaye depuis que je suis passé à windows 2003

A+
vvince
Modérateur
 
Messages: 568
Inscription: 08 Fév 2004, 16:52
Localisation: Banlieue parisienne (92 sud)

Messagede DJMaboul » 29 Sep 2009, 21:03

Recopie le script donné plus haut dans sip_icomming.vb

Après 2 sonneries ca coupe le plugin (le temps de faire l'annonce de l'appelant) et ton téléphone fixe sonne.

answerRings = le nombre de sonnerie avant de basculer l'appel SIP sur la ligne fixe
Dim answerRings as Integer = 2
Serveur
Microsoft Win7 32bit, Apache, PHP, Mysql, Juliette AT&T
Intel Dual Core 2.6Mhz, 2Go Ram, 300Go
Homeseer 2.4.0.6, PLCBUS, 1-Wire(USB), SIP, HSFlash, RFXCOM, Nabaztag tag
Avatar de l’utilisateur
DJMaboul
Dieu de domotique
 
Messages: 515
Inscription: 09 Sep 2007, 07:24
Localisation: Tours

Messagede Fritz » 06 Oct 2009, 14:37

cedriclocqueneux a écrit:Euh, pour ma part, la ligne de téléphone qui sort de la Freebox est branchée sur le modem du pc, et je récupère bien le callerid quand on m'appelle !


ca m'intéresse. Tu peux expliquer comment ça fonctionnes ?
Avatar de l’utilisateur
Fritz
Dieu de domotique
 
Messages: 460
Inscription: 20 Fév 2009, 13:30

Messagede cedriclocqueneux » 06 Oct 2009, 15:22

En sortie de la Freebox, j'ai mis un dédoubleur (un cable sort de la Freebox, pour aller vers deux téléphones). L'une des sorties est reliée au téléphone, l'autre à la carte modem de mon pc. Avec le logiciel Ascendis Caller ID, par exemple, quand un appel est recu, le logiciel recoit le numéro de téléphone s'il n'est pas masqué. Le soft fait ensuite la liaison avec mon carnet d'adresse pour récupérer le nom. Il m'annonce ensuite le nom, ou à défaut, le numéro de téléphone de la personne.
Ce soft pouvant exécuter des scripts, il est très facile ensuite de le faire communiquer avec Homeseer par exemple.

Bref, techniquement c'est très simple, il faut juste avoir une carte modem compatible Caller ID, mais la plupart le font.
Avatar de l’utilisateur
cedriclocqueneux
Dieu de domotique
 
Messages: 1494
Inscription: 02 Jan 2007, 22:18
Localisation: Chaon (Loire et Cher)

Suivante

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits réservés.