- Login or register to hide this ad -

Yahoo SMS Specification

From YChatSharpWiki

Jump to: navigation, search

Contents

Introduction

SMS facility introduced in YMSG version-9 is one of the best ways to send SMS to your friends all over the world. Although Yahoo Messenger supported it for three releases now, not many chat client(actually with an exception of a YahELite) added SMS feature. We would like to show you how to send and receive Yahoo Messenger style SMSes to mobile numbers of your friends and foes. So lets begin


Validation

Example below shows for a random number served by TMobile : 15163032083

First Yahoo Messenger sends a HTTP POST method to http://validate.msg.yahoo.com/ with POST data as : POST /mobileno?intl=us&version=9.0.0.2112 HTTP/1.1\r\nCookie:Y=v=...(and the rest of the cookies); path=/; domain=.yahoo.com; T=z=<TCookie Value>User-Agent: Mozilla/4.0 (compatible; MSIE 5.5)\r\n Host:validate.msg.yahoo.com\r\nContent-Length:106\r\nCache-Control:no-cache\r\n\r\n<validate intl=”us” version=”9.0.0.2112” qos=”0”><mobile_no msisdn=”15163032083”></mobile_no>\r\n</validate>

Do remember to send it thrice to verify if the number is being served by Yahoo services and is a valid number. This is to ensure there is no mistake from the server side

Acknowledgement

Once the validation XML is sent through POST HTTP method, we receive a response from validate.msg.yahoo.com which looks like the following XML sequence


   <validate>
      <mobile_no msisdn = “15163032083”>
              <status>Valid</status>
              <carrier>pcsms.us.tmobile</carrier>
      </mobile_no>
   </validate>

<status> </status>: this node tells us if the phone number is a valid number/is being served by Yahoo SMS facility
<carrier></carrier> : this is an important node in this and will be used in SENDING and RECEIVING SMS through YMSG protocol

Sending SMS

Sending an SMS once finished with validation is an easy step for anyone writing their own Yahoo Client. The Yahoo packet stripped after header is as follows: “À€” is the regular field delimiter So if my user id is lost_protocol then any SMS sent to 15163032083 goes through to yahoo messenger chat server and then routed to the mobile carrier.

YMSG Version: 16
Service Number : 746
Packet: 1lost_protocol69lost_protocol51516303208368pcsms.us.tmobile14<SMS MESSAGE>


1 : From User
69: From User
5: Mobile Number
68: Carrier details got from Authentication Step
14: SMS Message

Receiving SMS

From 15163032083 to lost_protocol when lost_protocol is online

YMSG Version : 16
Service : 746
Packet: 4151630320835lost_protocol14<SMS>68pcsms.us.tmobile690

4: From number
5: User Name
14: SMS Message
68: Carrier
69:

Retreiving OFFLINE SMS

From 15163032083 to lost_protocol
YMSG Version: 16
Service: 746
Packet: 4151630320835lost_protocol14<SMS>15126677272968pcsms.us.tmobile3391

4: Mobile Number From
5: To Username
14: SMS Message
15: 1266772729(we don’t know what this is actually)
68: carrier name
339: 1 (we don’t know what this is either)

           Authors: 
                LoSty Aka LoSt_PrOtOcOL
                WickedCoder

Personal tools