Just a couple of comments. You appear to mixing distributions (testing and stable). This is generally not a good idea. You will have interesting problems with libraries. You can try pinning were you link to multiple distributions, however this is normally only useful for new package that appear in say testing but not stable.
The best approach I found is to download the source packages and then recompile them for your library set. This is a bit more work because you will probably have to modify make files and such like.
If you just want asterisk 1.0.9 have a look at rapid which is the same idea as Asterisk@Home but built on a Debian sarge distribution.