Hi takeshi, Thanks for the help, it work. The is a typo in '3', '6' '9' digit_map in the tonegen.c FCCH /* Default digit map is DTMF */ static pjmedia_tone_digit_map digit_map = { 16, { { '0', 941, 1336 }, { '1', 697, 1209 }, { '2', 697, 1336 }, { '3', 697, 1477 }, //{ '3', 697, 1447 }, { '4', 770, 1209 }, { '5', 770, 1336 }, { '6', 770, 1477 }, //{ '6', 770, 1447 }, { '7', 852, 1209 }, { '8', 852, 1336 }, { '9', 852, 1477 }, //{ '9', 852, 1447 }, { 'a', 697, 1633 }, { 'b', 770, 1633 }, { 'c', 852, 1633 }, { 'd', 941, 1633 }, { '*', 941, 1209 }, { '#', 941, 1477 }, //{ '#', 941, 1477 }, } }; On Fri, May 15, 2009 at 12:39 AM, mayamatakeshi <mayamatakeshi at gmail.com>wrote: > On Fri, May 15, 2009 at 4:31 PM, fcch2k <fcch2000 at gmail.com> wrote: > > Hi, > > > > I used PJSIP 1.0.1 in windows XP to send in-band dtmf. The sip sever > > (iptel) is able to decode the 1,4,7,2,5,8 in-band dtmp, but it cannot > > recognize the 3, 6, 9 dtmf. I have try to change the on/off time and > > volume, but the sever still unable to receive 3,6,9 digits. > > > > The eyebeam can send 3, 6, 9 in-band dtmf and receive properly in the sip > > server (iptel). > > > > Have anyone seen this problem recently? > > > > I am also try to send both in-band and rfc2833 dtmf for each digit, and > > sometime the server will miss the digit. The server will not miss any > digits > > if send rfc2833 only. > > Hello, > I had this problem recently. I'm not sure but maybe pjsip is not using > DTMF definitions by default in tonegen (maybe it is using MFR1). > So to solve this, I set the frequency map using this: > > pj_status_t set_dtmf_map(pj_pool_t *pool, pjmedia_port *tonegen) { > /* From http://en.wikipedia.org/wiki/DTMF */ > pjmedia_tone_digit_map *map; > map = (pjmedia_tone_digit_map*)pj_pool_alloc(pool, > sizeof(pjmedia_tone_digit_map)); > > map->count = 16; > > map->digits[0].digit = '0'; > map->digits[0].freq1 = 941; > map->digits[0].freq2 = 1336; > > map->digits[1].digit = '1'; > map->digits[1].freq1 = 697; > map->digits[1].freq2 = 1209; > > map->digits[2].digit = '2'; > map->digits[2].freq1 = 697; > map->digits[2].freq2 = 1336; > > map->digits[3].digit = '3'; > map->digits[3].freq1 = 697; > map->digits[3].freq2 = 1477; > > map->digits[4].digit = '4'; > map->digits[4].freq1 = 770; > map->digits[4].freq2 = 1209; > > map->digits[5].digit = '5'; > map->digits[5].freq1 = 770; > map->digits[5].freq2 = 1336; > > map->digits[6].digit = '6'; > map->digits[6].freq1 = 770; > map->digits[6].freq2 = 1477; > > map->digits[7].digit = '7'; > map->digits[7].freq1 = 852; > map->digits[7].freq2 = 1209; > > map->digits[8].digit = '8'; > map->digits[8].freq1 = 852; > map->digits[8].freq2 = 1336; > > map->digits[9].digit = '9'; > map->digits[9].freq1 = 852; > map->digits[9].freq2 = 1477; > > map->digits[10].digit = 'a'; > map->digits[10].freq1 = 697; > map->digits[10].freq2= 1633; > > map->digits[11].digit = 'b'; > map->digits[11].freq1 = 770; > map->digits[11].freq2 = 1633; > > map->digits[12].digit = 'c'; > map->digits[12].freq1 = 852; > map->digits[12].freq2 = 1633; > > map->digits[13].digit = 'd'; > map->digits[13].freq1 = 941; > map->digits[13].freq2 = 1633; > > map->digits[14].digit = '*'; > map->digits[14].freq1 = 941; > map->digits[14].freq2 = 1209; > > map->digits[15].digit = '#'; > map->digits[15].freq1 = 941; > map->digits[15].freq2 = 1477; > > return pjmedia_tonegen_set_digit_map(tonegen,map); > } > > After that, detection of DTMF by the other end became perfect. > > regards, > takeshi > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090515/8fa8f6aa/attachment.html>