本文整理汇总了Python中Helper.usrlocGetContacts方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.usrlocGetContacts方法的具体用法?Python Helper.usrlocGetContacts怎么用?Python Helper.usrlocGetContacts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Helper
的用法示例。
在下文中一共展示了Helper.usrlocGetContacts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createReply
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import usrlocGetContacts [as 别名]
#.........这里部分代码省略.........
raise SCException("Transaction", "createReply", "transaction contains no request for reply creation")
reply = SipReply()
reply.code = int(code)
reply.reason = reason
reply.request = req
reply.protocol = copy.copy(req.protocol)
reply.version = copy.copy(req.version)
# copy only the mandatory HFHs
cp_hfh = Helper.get_rpl_hfh_dict(code)
if cp_hfh is None:
Log.logDebug("Transaction.createReply(): code not in reply HFH table, looking up generic code", 5)
code_generic = (code / 100) * 100
cp_hfh = Helper.get_rpl_hfh_dict(code_generic)
if cp_hfh is None:
Log.logDebug("Transaction.createReply(): unable to find generic reply in HFH table, copying all HFH", 2)
reply.headerFields = copy.copy(req.headerFields)
reply.parsedHeader = copy.deepcopy(req.parsedHeader)
else:
for i in cp_hfh:
if req.hasHeaderField(i):
reply.setHeaderValue(i, copy.copy(req.getHeaderValue(i)))
else:
Log.logDebug("Transaction.createReply(): request missing mandatory HFH: " + str(i), 2)
i_m = Helper.getMappedHFH(i)
if i_m is None:
Log.logDebug("Transaction.createReply(): unable to match HFH: " + str(i), 3)
i_m = i
if req.hasParsedHeaderField(i_m):
reply.setParsedHeaderValue(i_m, copy.deepcopy(req.getParsedHeaderValue(i_m)))
if i == "Via":
via = reply.getParsedHeaderValue("Via")
regen = False
if via.rport is not None:
via.rport = req.event.srcAddress[1]
regen = True
if via.received is not None:
via.received = req.event.srcAddress[0]
regen = True
if regen:
reply.setHeaderValue("Via", via.create())
else:
Log.logDebug("Transaction.createReply(): request missing mandatory parsed HFH: " + str(i), 2)
if code / 100 <= 2 and req.hasParsedHeaderField("Record-Route"):
rr = copy.deepcopy(req.getParsedHeaderValue("Record-Route"))
reply.setParsedHeaderValue("Record-Route", rr)
reply.setHeaderValue("Record-Route", rr.create())
if code / 100 == 2 and req.method == "INVITE":
if self.dialog is not None:
con = self.dialog.getLocalContact()
else:
con = Helper.createClassInstance("Contact")
con.uri.protocol = "sip"
con.uri.username = Config.SC_USER_NAME
con.uri.host = Config.LOCAL_IP
con.uri.port = Config.LOCAL_PORT
reply.setParsedHeaderValue("Contact", con)
reply.setHeaderValue("Contact", con.create())
reply.body = Helper.createDummyBody()
elif code / 100 == 2 and req.method == "REGISTER":
reply.body = []
if req.hasParsedHeaderField("Contact"):
reply.setParsedHeaderValue("Contact", copy.deepcopy(req.getParsedHeaderValue("Contact")))
touri = req.getParsedHeaderValue("To").uri
co = reply.getParsedHeaderValue("Contact")
cco = co
while cco is not None:
if cco.expires is None:
if req.hasParsedHeaderField("Expires"):
cco.expires = req.getParsedHeaderValue("Expires").seconds
else:
cco.expires = int(Config.DEFAULT_EXPIRES)
cco = cco.next
Helper.usrlocAddContact(touri.create(), co)
reply.setHeaderValue("Contact", co.create())
else:
if req.hasHeaderField("Contact"):
Log.logDebug("Transaction.createReply(): missing parsed Contact using raw value", 3)
reply.setHeaderValue("Contact", req.getHeaderValue("Contact"))
else:
co = Helper.usrlocGetContacts(req.getParsedHeaderValue("To").uri)
if co is not None:
reply.setParsedHeaderValue("Contact", co)
reply.setHeaderValue("Contact", co.create())
else:
con = Helper.createClassInstance("Contact")
con.uri.protocol = "sip"
con.uri.username = Config.SC_USER_NAME
con.uri.host = Config.LOCAL_IP
con.uri.port = Config.LOCAL_PORT
con.uri.params = ["transport=UDP"]
reply.setParsedHeaderValue("Contact", con)
reply.setHeaderValue("Contact", con.create())
reply.body = []
cl = Helper.createClassInstance("Contentlength")
cl.length = Helper.calculateBodyLength(reply.body)
reply.setHeaderValue("Content-Length", cl.create())
if createEvent:
reply.createEvent()
reply.setEventAddresses(req.event.dstAddress, req.getReplyAddress())
return reply