0
0 комментариев

Доброго времени суток. Пытаюсь подружить PJSUA и Multifon от Мегафона.

Код:

import sys
import pjsua as pj
import threading
 
 
def log_cb(level, str, len):
    print str
 
class MyAccountCallback(pj.AccountCallback):
    sem = None
 
    def __init__(self, account):
        pj.AccountCallback.__init__(self, account)
 
    def wait(self):
        self.sem = threading.Semaphore(0)
        self.sem.acquire()
 
 
    def on_reg_state(self):
        if self.sem:
            self.sem.release()
 
lib = pj.Lib()
 
try:
    lib.init(log_cfg = pj.LogConfig(level=0, callback=log_cb))
    lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(5080))
    lib.start()
 
    acc = lib.create_account(pj.AccountConfig(username='79xxxxxxxxx', password='my_pass', domain='multifon.ru'))
 
    acc_cb = MyAccountCallback(acc)
    acc.set_callback(acc_cb)
    acc_cb.wait()
 
    print "\n"
    print "Registration complete, status=", acc.info().reg_status, \
          "(" + acc.info().reg_reason + ")"
 
    lib.destroy()
    lib = None
 
except pj.Error, e:
    print "Exception: " + str(e)
    lib.destroy()

В ответ все время получаю 408 Connection timeout:

16:46:21.658    pjsua_acc.c  ...SIP registration failed, status=408 (Request Timeout)
16:46:21.658    pjsua_acc.c  ...Scheduling re-registration retry for acc 0 in 1 seconds..
408
 
Registration complete, status= 408 (Request Timeout)

Пробовал в код подставлять настройки для других провайдеров — все работает
нормально. Если вбить мегафоновские настройки в Zoiper — регистрация тоже проходит нормально. В чем может быть проблема?


Добавить комментарий