python: ../src/pjsua-lib/pjsua_acc.c:367: pjsua_acc_add: Assertion `pjsua_var.acc_cnt < (sizeof(pjsua_var.acc)/sizeof(pjsua_var.acc[0]))' failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

 

I've checked out the svn trunk on 12/27 and am using the pjsua python
bindings per the tutorial on the pjsip doc site.

 

If I let the program run, I receive the following Assertion:

 

python: ../src/pjsua-lib/pjsua_acc.c:367: pjsua_acc_add: Assertion
`pjsua_var.acc_cnt < (sizeof(pjsua_var.acc)/sizeof(pjsua_var.acc[0]))'
failed

 

Thanks,

 

Bryan

 

 

 

 

I've attached the simple python application below:

 

 

 

#!/usr/bin/python

 

import sys

import pjsua as pj

import threading

import traceback

import time

 

 

class HermesAccountCallback(pj.AccountCallback):

    sem = None

    def __init__(self, account):

        pj.AccountCallback.__init__(self, account)

    def on_incoming_call(self, call):

        print "Incoming Call"

 

    def on_reg_state(self):

        if self.sem:

            print "\nON REG STATE:", self.account.info().reg_status, \

                  "(" + self.account.info().reg_reason + ")"

            self.sem.release()

 

    def wait(self):

        self.sem = threading.Semaphore(0)

        self.sem.acquire()

 

    def on_pager(self, from_uri, contact, mime_type, body):

        print from_uri

        print contact

        print mime_type

        print body

 

    def on_typing(self, from_uri, contact, is_typing):

        pass

 

class HermesAccount(threading.Thread):

    def __init__(self, username, password, domain):

        threading.Thread.__init__(self)

 

        self.username = username

        self.password = password

        self.domain = domain

 

        self.lib = pj.Lib()

 

        self.acc_cfg = pj.AccountConfig(domain, username, password)

        self.acc_cfg.proxy = [ "sip:" + domain + ";transport=tcp" ]

        self.acc = None

        self.acc_cb = None

 

        self.running = False

 

    def run(self):

        self.lib.thread_register("HermesAccount")

        if not self.running:

            self.start_lib()

            self.running = True

        while self.running == True and self.register() == 200:

            self.acc_cb.wait()

 

    def logging_callback(self, level, message, val):

        #print message

        pass

 

    def start_lib(self):

        try:

            self.lib.init(log_cfg = pj.LogConfig(level=4,
callback=self.logging_callback))

            tcp = self.lib.create_transport(pj.TransportType.TCP)

            self.lib.start()

        except pj.Error, e:

            traceback.print_exc()

 

    def register(self):

        try:

            self.acc = self.lib.create_account(self.acc_cfg)

            self.acc_cb = HermesAccountCallback(self.acc)

            self.acc.set_callback(self.acc_cb)

            self.acc_cb.wait()

            return self.acc.info().reg_status

 

        except pj.Error, e:

            traceback.print_exc()

            self.lib.destroy()

 

    def stop(self):

            self.lib.destroy()

            self.lib = None

 

 

var = HermesAccount("1008", "1234", "sip.example.org")

var.start()

 


This transmission is intended only for use by the intended
recipient(s). If you are not an intended recipient you should not read, disclose copy, circulate or in any other way use the information contained in this transmission. The information contained in this transmission may be confidential and/or privileged. If you have received this transmission in error, please notify the sender immediately and delete this transmission including any attachments.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20101228/e703a1d6/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux