Клиент PyVoIP не отвечает на SIP OPTIONS, отправленный SIP-серверомPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Клиент PyVoIP не отвечает на SIP OPTIONS, отправленный SIP-сервером

Сообщение Anonymous »

Я пытаюсь создать SIP-клиент, который регистрирует все полученные вызовы.
Я использую Python с библиотекой pyVoIP, вот код:

Код: Выделить всё

from pyVoIP.VoIP import VoIPPhone, CallState, PhoneStatus, InvalidStateError
import time
import datetime

def answer(call): # This will be your callback function for when you receive a phone call

try:
print(call.state)
anum = call.request.headers["From"]["number"]
print(','+ datetime.datetime.now().strftime("%Y%m%d")+', '+ datetime.datetime.now().strftime("%X")+', '+ datetime.datetime.now().strftime("%f")+',,,,,,,'+anum+',0662279775,,,')
open('tmp.csv', 'w+')
f.write(','+ datetime.datetime.now().strftime("%Y%m%d")+', '+ datetime.datetime.now().strftime("%X")+', '+ datetime.datetime.now().strftime("%f")+',,,,,,,'+anum+',0662279775,,,')
print(anum)
call.answer()
call.hangup()
except InvalidStateError:
print(InvalidStateError)
pass

if __name__ == "__main__":
vp = VoIPPhone('79.98.45.133',5060,'06xxxxx','xxxxxxxx',callCallback=answer)
print('VOIP PHONE INIZIALIZATED: status = '+str(vp._status))
vp.start()
print('VoIP PHONE STARTED: status = '+str(vp._status))
while(vp._status==PhoneStatus.REGISTERING or vp._status==PhoneStatus.INACTIVE):
continue
print('WHILE LOOP STATUS ENDED: status = '+str(vp._status))
input('Press ENTER to stop')
time.sleep(5)
vp.stop()
print('STOPPED VOIP PHONE: status = '+str(vp._status))
time.sleep(5)
Фаза регистрации прошла успешно, клиент может зарегистрироваться на SIP-сервере, поэтому я получаю:

Код: Выделить всё

WHILE LOOP STATUS ENDED: status = PhoneStatus.REGISTERED
Когда я звоню на номер, связанный с учетной записью SIP, иногда клиент принимает вызов, а иногда нет.
Я отследил пакет SIP, полученный клиентом клиент и я вижу, что SIP-сервер отправляет сообщения OPTIONS клиенту, но клиент не отвечает на них.
Я думаю, в этом проблема: сервер не получает ответа на сообщения OPTIONS, поэтому он думает, что клиент не работает, поэтому не пересылает вызов клиенту.
Есть ли способ настроить pyVoIP для ответа на сообщения OPTIONS?

Подробнее здесь: https://stackoverflow.com/questions/790 ... sip-server
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»