[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-users] problems when using ortp 0.13.1 to send dtmf

From: god lu
Subject: [Linphone-users] problems when using ortp 0.13.1 to send dtmf
Date: Tue, 1 Apr 2008 16:46:33 +0800

Hi all,
     I am using ortp-0.13.1 to send dtmf, but I am confused with some problems :
    1, In file telephonyevents.c, function rtp_session_send_dtmf, this function calls rtp_session_send_dtmf2 whose fourth parameter is 480,   
       Would you please explain it?  Why 480 is used here?

   2. In ortp-0.13.1/src/tests, there is a file called tevrtpsend.c, in the 'while' loop of the main function, the variable user_ts is incremented by (160+160+160) after calling rtp_session_send_dtmf(session, '*', user_ts).  Is there some relationshiop between these three 160s and the 480 mentioned in my first question?  If it does, Would you please give me a simple example ?
   3. In file telephonyevents.c, function rtp_session_send_dtmf2,  rtp_session_add_telephoone_event is call with various duration, and which figure should be incremented by duration, 160 or some others? Is there a formula to calculate it? For the original 160 didn't work.
     By the way, DTMF using rfc2833 sent by linphone-2.0.0 also can't be recogonised by my PBX which connecting PSTN network and Internet.
Have this functionality been proved to work correctly?
   Also, I think there are two bugs in ortp-0.13.1;  They are
   1, In file telephonyevents.c, function rtp_session_send_dtmf2,  rtp_session_sendm_with_ts is call with various timestamp when sending the same digits.
      In rfc2833:
     If an event contiunes for more than one period, the source generating the events should send a new event packet with the RTP timestamp value correspoding to the beginning of the event and the duration of the event increased correspondingly. (The RTP sequence number is incremented by one for each packet.)
    So should we use the same timestamp here when we sending the same digits?
  2.In file rtpsession.c, fucntion rtp_session_sendm_with_ts, lets take a look at following code
     if(session->snd.telephone_events_pt == rtp->paytype)
           rtp->seq_number = session->rtp.snd_seq;
           session-.rtp.snd_seq = rtp->seq_number+1;
    I think should be this:
   if(session->snd.telephone_events_pt == rtp->paytype)
           rtp->seq_number = session->rtp.snd_seq;
           session-.rtp.snd_seq = rtp->seq_number+1;
   or when rtp_session_sendm_with_ts is called to send dtmf digit, the sequence number will be like this
   sending rtp packet                               with                seq  is 56
   sending rtp packet                               with                seq  is 57
   sending rtp event packet                       wtih                seq is 59
   sending rtp event packet                       with                seq is 60
   sending rtp packet                                with                seq is 60

 Any suggestion will be appreciated!
 Thank you in advance.

Today is most important.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]