예제 #1
0
    def __startSipLib(self):
        isSuccess = True
        global lib
        if lib:
            self.__stopSipLib()

        lib =  pj.Lib()
        self._listCallInfo=[]

        try:
        # if True:
            dao = self.configDao;
            mediaConfig=MediaConfig()
            mediaConfig.enable_ice = MyUtil.db_str2bool(dao.GetIsUseIce())
            mediaConfig.enable_turn =MyUtil.db_str2bool(dao.GetIsUseTurn())
            if mediaConfig.enable_turn:
                mediaConfig.turn_server = str(dao.GetTurnServer())

            uaConfig=UAConfig()
            if (MyUtil.db_str2bool(dao.GetIsUseStun())):
                uaConfig.stun_srv = [str(dao.GetStunServer())]

            lib.init(ua_cfg = uaConfig,log_cfg = pj.LogConfig(level=int(dao.GetLogLevel()), callback=self.log_cb), media_cfg=mediaConfig)
            lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(int(dao.GetSipSendPort())))
            lib.start()
        except:
            isSuccess=False
            self.show_err_msg()

        if isSuccess:
            isSuccess=self.reRegister()


        return isSuccess
예제 #2
0
    def setValue(self,isUseIce,isUseStun,stunServer,isUseTurn,turnServer):
        if MyUtil.db_str2bool(isUseIce):
            self.useIce.SetValue(True)
        if MyUtil.db_str2bool(isUseStun):
            self.useStun.SetValue(True)
        if MyUtil.db_str2bool(isUseTurn):
            self.useTurn.SetValue(True)

        self.stunServer.SetValue(stunServer)
        self.turnServer.SetValue(turnServer)