J'essaie d'obtenir le statut d'un serveur Asterisk en utilisant un socket python mais rien ne se passe.Comment obtenir le statut d'un serveur Asterisk en utilisant un socket - Python
Voici mon code:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
HOST = '192.168.1.105'
PORT = 5038
s.connect((HOST, PORT))
params = """Action: login
Events: off
Username: admin
Secret: mypass
Action: status
Action: Logoff
"""
s.send(params)
data = s.recv(1024)
print data + '\n'
s.close()
Je viens de passer un message disant Asterisk version et rien de plus.
J'espère que quelqu'un pourrait m'aider avec ceci.
Merci d'avance.
Merci pour votre réponse. J'ai essayé votre solution, mais rien ne se passe quand j'Execute: params = 'action: le statut' s.send (params + '\ r \ n') data = s.recv (1024) La console Python reste là-bas Et rien de plus. – Harph
Avez-vous la configuration d'autorisations correcte pour votre compte d'utilisateur sous lequel vous exécutez le programme AMI? Consultez cette page sur voip-info (il contient une liste d'autorisations requises pour exécuter cette commande): http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Status De même, ne testez pas ceci dans la console python. Le retard de votre frappe entraînera probablement un temps mort. Mettez votre code dans un programme python et lancez-le pour obtenir des résultats fiables. – rdegges