No sound in a conversation. Ring, music, hello-world do work

I’ve set up asterisk on FC8, as a starter, for two persons. One phone is in the intranet (Siemens C455IP), however I connect via the external IP address. The other phone (Tiptel 220) is in another city. I’ve noticed the following:

If only port 5060 is open then the phone rings and exten => 555,1,Playback(hello-world)
works. No conversation possible, due to no sound.

If 5060 is open and rtpstart=10000, rtpend=10500 in rtp.conf (of course the firewall is open), then next is working as well. I hear some music.

exten => 777,1,Answer
exten => 777,2,SetMusicOnHold(default)
exten => 777,3,WaitMusicOnHold(20)
exten => 777,4,Hangup

I can phone the other phone, and it rings. But silence all over the place in the conversation. What do I still miss?

rtp.conf:

rtpstart=10000
rtpend=10500

sip.conf

[general]
port=5060
bindaddr=0.0.0.0
context=others
svrloopup=yes

externip=1.2.3.4
localnet=192.168.2.0/255.255.255.0
nat=yes

qualify=no
canreinvite=no
;rtptimeout=60
;rtpholdtimeout=300
dtmfmode=auto
disallow=all
allow=gsm
allow=ulaw
allow=alaw

; Siemens C455IP
[person1]
type=friend
context=my-phones
username=person1
secret=sosecret
qualify=yes
;regexten=500
callerid=preson1
host=dynamic
;rfc2833compensate=yes
dtmfmode=rfc2833
canreinvite=yes

; Tiptel 220
[person2]
type=friend
context=my-phones
username=person2
secret=alsosecret
qualify=yes
;regexten=501
callerid=person2
host=dynamic
canreinvite=yes
dtmfmode=rfc2833

extensions.conf

[others]

[my-phones]
exten => s,1,Answer
exten => s,2,Set(TIMEOUT(digit)=5)
exten => s,3,Background(demo-instruct);

exten => 500,1,Dial(SIP/person1)
exten => 500,2,Hangup()

exten => 501,1,Dial(SIP/person2)
exten => 501,2,Hangup()

exten => 555,1,Playback(hello-world)
exten => 666,1,Answer() ; that means that the call will be answered;
exten => 666,2,Echo() ; makes possible for you to hear your own voice;
exten => 666,3,HangUp() ; hangs up after you’ve finished the call.

exten => 777,1,Answer
exten => 777,2,SetMusicOnHold(default)
exten => 777,3,WaitMusicOnHold(20)
exten => 777,4,Hangup

exten => 999,1,HangUp()

exten => t,1,Goto(x100p,s,1)
exten => i,1,Playback(pbx-invalid)

exten => 999,1,Goto(s,1)

I did a reload, and for sure a restart of asterisk as a service.