Convert most http: links to https:
[wiki.git] / doc / szs.mdwn
1 [[!meta title="Using SZS (the SMS to Zephyr Relay)"]]
2
3 ## Introduction to SZS, the SMS to Zephyr Relay
4
5 This service relays messages between [[Zephyr|doc/zephyr]] and phones (which use SMS). In other words, you can send and receive text messages in Zephyr. For the short but slightly obsolete version of this documentation, see [http://webzephyr.mit.edu/szs.html](http://webzephyr.mit.edu/szs.html).
6
7 ## Zephyr to SMS
8
9 To send zephyrs to a phone address as an Athena user, use your favorite zephyr client (see [[Using Zephyr|doc/zephyr]] if you're not sure what this means) to zwrite `daemon/webzephyr.mit.edu` with a class of `szs` and an instance of `1234567890@servicemail.foo`; for instance, in BarnOwl, 
10
11         ----> zwrite daemon/webzephyr.mit.edu -c szs -i 1234567890@servicemail.foo
12         Hi imaginary friend, how are you doing? I'm sending you a text message through Zephyr.
13
14 where you replace `1234567890@servicemail.foo` with the email address of the person you wish to reach (you can look up the email address for a given cellular provider online. See ). Additionally, if you're not sure what cellular provider your friend has, there are online services where you can look up the number and determine the carrier. For instance, try [Free Cell Phone Carrier Lookup | Whitepages.com](https://www.whitepages.com/carrier_lookup) (just enter in the "Mobile #" field, the "Name" and "Select Your Carrier" are unnecessary). 
15
16 ## SMS to Zephyr
17 ### Notes
18 Do note that your message **will be accompanied by your phone number**!
19
20 Messages over 140 chars will get **cut off** between the phone and Zephyr. The cell phone user will get an `invalidpducontent` error, although the first part of his/her message will get through to Zephyr. On the other hand, messages *from* Zephyr to cellphones can be as long as you like.
21
22 Also, hitting "`r`" in BarnOwl to reply to a zephyrgram someone sent as a text message **does not work**. You'll have to hit `[Ctrl-R]` and typing out your friend's email address. (Afterward, you can scroll back to the last one you sent to your friend and hit "`r`", which will work).
23
24 ### Personals
25 When sending a zephyr from a phone, simply text a message to `kusername@szs.mit.edu` where `kusername` is the person's Athena username.
26
27 The body of your message will be relayed to the selected username. (This should not require picture or multimedia texting (MMS), although your phone may force you to switch into MMS form when it recognizes the email address format. If it's not sent as a plain text messag I'm not sure that the message gets through; it may depend on the phone).
28
29 Here's what it will look like to people on zephyr:
30
31            Zephyr from daemon/webzephyr.mit.edu  08:43  (http://szs.mit.edu)
32                Hi kusername, nice work sending me a text message through Zephyr. Here's a text message to Zephyr test.
33
34                (Sent by 1234567890@servicemail.foo via the webzephyr SMS/Email to Zephyr gateway.
35                Zephyr replies to daemon/webzephyr.mit.edu -c szs -i 1234567890@servicemail.foo )
36
37
38 ### Classes
39
40 Simply send messages to **classname+instance@szs.mit.edu** (the instance is optional, but the plus preceeding it is not).
41 Your message will appear like this:
42
43            classname / instance / daemon/webzephyr.mit.edu  02:56  (http://szs.mit.edu)
44                A test message!          
45            
46                (Sent by 1234567890@servicemail.net via the webzephyr SMS/Email to Zephyr gateway.
47                Zephyr replies to daemon/webzephyr.mit.edu -c szs -i 1234567890@servicemail.foo )
48
49 ### Filtering
50 As it turns out, for the same reasons that make replying to text messages such a pain, messages sent to Zephyr will appear in your personals (and can be viewed in BarnOwl with the shortcut `[Alt-p]`) but messages you send in reply will not show up. This can make it annoying to carry on a conversation. To get text messages sent through Zephyr to show up in your personals (in BarnOwl), you can edit your personal filter. To get your changes to persist across BarnOwl sessions, you should directly edit your startup configuration file. This, by default, is the `startup` file in the `~/.owl` folder (where "~" stands for your home folder, so the full path should be something like `/mit/kusername/.owl/startup`). 
51
52 So open up the "startup" file in your favorite text editor. If you're not sure which, try double-clicking the "startup" file, which should open it up in `gedit`. Or, if you're in a dialup ssh session, try `nano`.
53
54         nano ~/.owl/startup
55
56 Now find the line that starts with `filter personal` and edit it.
57
58 BarnOwl is picky about formatting, so here are some examples.
59 This includes all your SMS <-> Zephyr messages in your personals and also colors your personal messages green.
60
61         filter personal -c green ( class ^szs$ ) or ( isprivate ^true$ and ( not type ^zephyr$ or ( class ^message$ ) ) )
62
63 To color all your SMS <-> Zephyr messages separately from your other personals messages, add another line that will override the coloring you gave it under the personal filter:
64
65         filter szs -c cyan ( class ^szs$ ) or ( sender daemon/webzephyr.mit.edu@ATHENA.MIT.EDU )
66
67 So you'll have general personals in one color, and SMS <-> Zephyr messages in a separate color, both of which appear when you hit `[Alt-p]`.
68
69 If you ever need to revert your personal filter, the default is:
70
71         isprivate ^true$ and ( not type ^zephyr$ or ( class ^message ) )
72
73 Now to reload your BarnOwl configuration, in BarnOwl, run
74
75         :source ~/.owl/startup
76
77 Therefore you could have multiple startup files if you wish. However, do note that if you don't specify (overwrite) a filter in `startup2`, it will remain in its `startup` state. In other words, there is no original BarnOwl filter configuration that your filters will revert to.
78
79 ### Screen
80 If you are going to regularly send and receive text messages using the BarnOwl client for Zephyr, you will probably want a BarnOwl instance running 24/7 so that whoever texts you won't encounter a `user not subscribed` error and so that your text message conversations don't disappear each time you quit BarnOwl. 
81
82 A good way to do this is to use screen and run it on the SIPB dialup machine, which allows you to run a BarnOwl session within screen on the SIPB dialup machine that's theoretically up 24/7 (sadly outages do occur). See [[Using Screen|doc/screen]] for more information; the basic idea is to `ssh` to `kusername@linux.mit.edu` and run `add kchen; owl-screen`, and in the future after `ssh`-ing to `kusername@linux.mit.edu` run `screen -dr`.