Actually, the man page for tip(1) is out of date. There is a generic Hayes dialer already built in. Just use at=hayes in your /etc/remote (see remote(5)) file.
The Hayes driver is not smart enough to recognize some of the advanced features of newer modems---messages like BUSY, NO DIALTONE, or CONNECT 115200 will just confuse it. You should turn those messages off when you use tip(1) (using ATX0&W).
Also, the dial timeout for tip(1) is 60 seconds. Your modem should use something less, or else tip will think there is a communication problem. Try ATS7=45&W.
Actually, as shipped tip(1) does not yet support it fully. The solution is to edit the file tipconf.h in the directory /usr/src/usr.bin/tip/tip. Obviously you need the source distribution to do this.
Edit the line #define HAYES 0 to #define HAYES 1. Then make and make install. Everything works nicely after that.