飞信机器人/飞信协议中的扩展方法

来自Blueidea
跳转至: 导航搜索

飞信协议中的扩展方法

Service方法(S),是IETF定义的一个SIP扩展方法,用来向SIP服务器请求额外的服务。协议中,现发现的所有部分,凡是要用到字符串的,统一都是用UTF-8。


心情短语

  • 获取
S fetion.com.cn SIP-C/2.0
F: 123456789
I: 2
Q: 1 S
N: GetPersonalInfo
L: 172

<args><personal version=”11″ attributes=”all” /><services version=”11″ attributes=”all” /><config version=”109″ attributes=”all” /><mobile-device attributes=”all” /></args>
  • 设置
S fetion.com.cn SIP-C/2.0
F: 123456789
I: 47
Q: 1 S
N: SetPersonalInfo
L: 48

<args><personal impresa=”" /></args>

服务器返回:
SIP-C/2.0 200 OK
I: 47
Q: 1 S
L: 67
<results><personal version=”14″ impresa=”" /></results>
每设置一次,version号就会增加一个。


获取好友列表中的好友信

S fetion.com.cn SIP-C/2.0
F: 123456789
I: 16
Q: 1 S
N: GetContactsInfo
L: 137

<args><contacts attributes=”all” extended-attributes=”score-level”><contact uri=”sip:584773816@fetion.com.cn;p=4019″ /></contacts></args>

如果成功,服务器将会返回

<results><contacts><contact uri=”sip:584773816@fetion.com.cn;p=4019″><extended score-level=”2″/></contact></contacts></results>

以及:

<events><event type=”ServiceResult”><results><contacts><contact uri=”sip:584773816@fetion.com.cn;p=1755″ status-code=”200″><personal version=”19″ nickname=”" gender=”2″ impresa=”" nation=”CN” province=”js” city=”516″ ivr-enabled=”1″ portrait-crc=”1514698093″ provisioning=”1″ mobile-no=”13985478528″ name=”" birth-date=”1985-01-01″ birthday-valid=”0″ lunar-animal=”1″ horoscope=”1″ profile=”" blood-type=”2″ occupation=”" hobby=”" personal-email=”" work-email=”" other-email=”" primary-email=”0″/></contact></contacts></results></event></events>

GetPresence

<args><query><contacts><contact uri=”sip:584773816@fetion.com.cn;p=4019″ /></contacts><presence><extended types=”mobile-device-status” /></presence></query></args>


联系权限(是否公开手机号)

get(设置自己对别人的)和set(获取别人对自己的)


  • SetContactPermission
发送:SetContactPermission

<args><permissions><permission uri=”sip:584677816@fetion.com.cn;p=5075″ values=”identity=0″ /></permissions></args>

收到:

<results><permissions version=”68″><permission uri=”sip:584677816@fetion.com.cn;p=5075″ values=”identity=0;”/></permissions></results>
  • GetContactPermission
发送:

<args><permissions all=”0″ objects=”all”><permission uri=”sip:584677816@fetion.com.cn;p=4019″ /></permissions></args>

服务器返回:

<results><permissions><permission uri=”sip:584773816@fetion.com.cn;p=4019″ values=”identity=1;”/></permissions></results>


给自己发短信

这个算是飞信比较新的功能吧。格式也有些奇怪。

M fetion.com.cn SIP-C/2.0
F: 584677816
I: 51
Q: 1 M
T: sip:573435199@fetion.com.cn;p=668
N: SendCatSMS
L: 9

正文不是XML。正文直接就是要发送的短信的内容。(注意,UTF-8编码)

如果成功,服务器会返回:

SIP-C/2.0 280 Send SMS OK
T: sip:584677816@fetion.com.cn;p=668
I: 51
Q: 1 M
D: Wed, 02 Apr 2008 17:01:14 GMT
XI: cfdd2e042cee434eba0bad035c8ff8ed

最末那个XI字段不知道是做什么用的。