I am having trouble generating dtmf tones when I receive a call.  Here is what 
my call_state_changed callback looks like (this is in Python):

    def call_state_changed(core, call, state, message):
        logging.warning("call_state_changed: " + str(state) + ", " + message)

        if state == linphone.CallState.IncomingReceived:
            print "***Incoming call on " + core.identity
            core.accept_call(call)
            time.sleep(10)      # wait 10 seconds for audio to play
        elif state == linphone.CallState.Connected:
            core.start_dtmf_stream()
            core.play_dtmf(1,300)    # press 1 for 300 ms to acknowledge the 
alert
            core.stop_dtmf_stream()
            print "***Call successfully answered on " + core.identity
        elif state == linphone.CallState.End:
            print "***Call successfully hung up on " + core.identity
        elif state == linphone.CallState.Error:
            logging.error("call_state_changed: " + core.identity + ", " + 
str(state) + ", " + message)

When I am handling the linphone.CallState.Connected case, I am starting the 
dtmf stream, playing a '1' digit for 300 ms, and then stopping the dtmf stream. 
 However, when I run my SIP client script and send a call to it, I get the 
following output in console when my client tries to generate the dtmf tone:

ERROR:root:No dtmf generator at this time !

I've made sure that both my client and my PBX are using the same DTMF payload 
type (rfc2833) (I've set use_rfc2833_for_dtmf to true in my core object).  What 
is required in order for me to create a dtmf generator?  I am not finding much 
help in the Linphone Python documentation.

Thanks!


-          Ken C.

_______________________________________________
Linphone-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/linphone-users

Reply via email to