如何使用Python套接字发送SIP消息 [英] How to send SIP message using Python sockets

查看:429
本文介绍了如何使用Python套接字发送SIP消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用Python套接字发送SIP消息,我已经使客户端向服务器发送了一些内容,但无法使客户端向服务器发送SIP消息邀请.

I need to send SIP message using Python sockets, I've made that client sends something to server but I'm not able to make that client sends a SIP message INVITE to server

#!/usr/bin/python

import socket

R_IP = '192.168.2.1'
R_PORT = 5060 

message = 'INVITE sip:user1110000000350@.com SIP/2.0 To: <sip:user4110000000350@whatever.com>\x0d\x0aFrom: sip:user9990000000000@rider.com;tag=R400_BAD_REQUEST;taag=4488.1908442942.0\x0d\x0aP-Served-User: sip:user4110000000350@whatever.com\x0d\x0aCall-ID: 00000000-00001188-71C0873E-0@10.44.40.47\x0d\x0aCSeq: 1 INVITE\x0d\x0aContact: sip:user9990000000000@rider.com\x0d\x0aMax-Forwards: 70\x0d\x0aVia: SIP/2.0/TCP 10.44.40.47;branch=z9hG4bK1908442942.4488.0\x0d\x0aContent-Length: 10\x0d\x0a\x0d\x0aRandomText'

def sendPacket():
   proto = socket.getprotobyname('tcp')                         
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#, proto) 

   try:
       s.connect((R_IP , R_PORT)) 
       s.sendall(message)                                       
   except socket.error:
       pass
   finally:
       s.close()

sendPacket()

你有什么主意吗?

推荐答案

好,我知道,也许会对某人有所帮助.

Ok I know, maybe it will help someone.

正确格式的SIP消息如下:

Proper format SIP message is as follows:

INVITE sip:user11@whatever SIP/2.0
To: <to>
Call-ID: <call_id>
<empty line>
body

所以

message = 'INVITE sip:user1110000000350@whatever.com SIP/2.0\r\nTo: <sip:user4110000000350@whatever.com>\r\nFroma: sip:user9990000000000@rider.com;tag=R400_BAD_REQUEST;taag=4488.1908442942.0\r\nP-Served-User: sip:user4110000000350@whatever.com\r\nCall-ID: 00000000-00001188-71C0873E-0@10.44.40.47\r\nCSeq: 1 INVITE\r\nContact: sip:user9990000000000@rider.com\r\nMax-Forwards: 70\r\nVia: SIP/2.0/TCP 10.44.40.47;branch=z9hG4bK1908442942.4488.0\r\nContent-Length: 10\r\n\r\nRandomText'

\r\n非常重要,没有空格

这篇关于如何使用Python套接字发送SIP消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆